当前位置 博文首页 > python-for x in range的用法(注意要点、细节)

    python-for x in range的用法(注意要点、细节)

    作者:juunnry 时间:2021-06-09 17:46

    for x in ...循环 就是把每个元素代入变量x,然后执行缩进块的语句。

    range()函数,可以生成一个整数序列,再通过list()函数可以转换为list。

    比如我们想计算1-10的整数之和,

    可以用一个sum变量做累加:

    sum = 0 
    for x in [1,2,3,4,5,6,7,8,9,10]: 
    sum = sum + x 
    print(sum)
    sum = 0 
    for x in range(11): 
    sum = sum + x 
    print(sum)

    以上两种表示方法,结果相同。简单易错哦!一定要细心

    range(101)就可以生成0-100的整数序列

    计算如下:

    sum = 0 
    for x in range(101): 
    sum = sum + x 
    print(sum)

    补充:Python中的for i in range(range()函数的for循环)如何使用,详细介绍

    range函数的for循环

    1.定义

    range是一个函数,它返回的是一个可迭代对象,大多使用于for循环中。相当于C/Java 里面的 for (int i = m; i < n; i++)循环

    2.两种形式

    range(stop)
    range(start, stop[, step])
    

    start作为开始值,开始值作为开始的那个数,不输入的话默认从0开始

    stop作为结束值,结束值所代表的不是结束的那个值,而是结束的那个下标,结束值的下标是从0开始算起。例如你输入5,那么输出之后就是4。(注意:结束值不可省略)

    step作为步进值,不进值代表一次你想要步进多少个,假如输入1的话,那输出之后就可以看到每一个数据之间相隔了1的差距,如果步进值省略的话,它的默认值依旧是1,只有当你自己输入其他的步进值,它才会改变。

    3.可理解性例子

    根据代码来理解range函数的重要值,将代码复制到你的pycharm中,就可以看到三个值的含义了

    代码

    #coding=utf-8
    import time
    #代表1到4,不包含4
    for i in  range(1, 4):
        print(i)
    #设置停顿三秒
    time.sleep(3)
    #代表1到10,间隔2,不包含10
    for i in range(1, 10, 2):
        print(i)
    time.sleep(3)
    #代表0到5,不包含5
    for i in range(5):
        print(i)
    time.sleep(3)
    

    4.range函数的特性详述

    4.1 左闭右开

    eg:

    代码:

    #1<=i<6
    for i in  range(1, 6):
        print(i)
    

    输出结果

    在这里插入图片描述

    从上图可知,1是取到的,而6是没有取到的,相当于数学中的左闭右开区间[1,6)

    4.2 开始值默认为0

    如果开始值不写的话,就会默认从0开始

    eg:

    代码

    #开始值不输入的话默认从0开始,打印输出0到9
    for i in  range(10):
        print(i)
    

    运行结果

    在这里插入图片描述

    4.3 步长值默认为1

    代码

    #步长值不输入的话默认为1
    for i in  range(1, 10):
        print(i)
    

    运行结果

    在这里插入图片描述

    当我们输入步长值为2的时候:

    代码

    #步长值输入为2
    for i in  range(1, 10, 2):
        print(i)
    

    运行结果

    在这里插入图片描述

    由上可知,步长值为2的时候,他的间隔就为2

    4.4 range函数的反向输出

    代码

    #打印输出10,9,8,7,6,5,4,3,2,1,0
    for i in range(10, -1, -1):
        print(i)
    

    运行结果

    在这里插入图片描述

    由上可知,range(10,-1,-1)反向输出10,9,8,7,6,5,4,3,2,1,0。此时的结束值为-1,而-1取不到,因此取到0,长是-1,相当于每次-1。

    5.与列表list的使用

    代码

    list1 = ["看不", "见你", "的", "笑", "我怎么", "睡", "得", "着"]
    for i in range(len(list1)):
        print(i, list1[i])
    

    运行结果

    在这里插入图片描述

    6.range与list的区别

    range()是依次取顺序的数值,常与for循环一起用,如for范围内的每个(0, 5):for循环执行5次,每个取值是0〜4 而list()是把字符串转换为列表,如a = '01234' , b = list(a), a打印出来会是一个列表:[‘0', ‘1',‘2',‘3',‘4'], 如a = [0, 1, 2, 3, 4],输出的结果就会是[0, 1, 2, 3, 4]

    代码

    #对比range与list
    for i in range(0, 5):
        print(i)
    a = [0, 1, 2, 3, 4]
    print(a)
    

    运行结果

    在这里插入图片描述

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持站长博客。如有错误或未考虑完全的地方,望不吝赐教。

    js
    下一篇:没有了