python for i in range(x)应用的问题

python 中经常使用for i in range(x)的方式进行循环,但是需要注意的是range范围在循环开始后就已经确定,循环过程中修改x的值,并不会影响循环次数,如下:

x=5
y=0
for i in range(x):
    x=0
    y+=1
print(y)

结果为5,而不是1。虽然x在循环体中被重新赋值为0,但是并不影响i的取值范围。

原文地址:https://www.cnblogs.com/imhuanxi/p/11296747.html

时间: 2024-11-08 02:29:38

python for i in range(x)应用的问题的相关文章

一入python深似海--range()与for

range用法 使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节. 这里记录一下: range(1,5)#代表从1到5(不包含5) [1,2,3,4] range(1,5,2)#代表从1到5,间隔2(不包含5) [1,3] range(5)#代表从0到5(不包含5) [0,1,2,3,4] 再看看list的操作: array= [1,2,5,3,6,8,4] #其实这里的顺序标识是 [1,2,5,3,6,8,4] (0,1,2,3,4,5,

python 报错TypeError: 'range' object does not support item assignment,解决方法

贴问题 nums = range(5)#range is a built-in function that creates a list of integers print(nums)#prints "[0,1,2,3,4]" print(nums[2:4])#Get a slice from index 2 to 4 (exclusive); prints '[2,3]" print(nums[2:])#Get a slice from index 2 to the end

python中xrange和range(转)

说到序列,我们第一想到的是一组有序元素组成的集合.同时,每个元素都有唯一的下标作为索引. 在Python中,有许多内界的序列.包括元组tuple,列表list,字符串str等.上面提到的序列类型(list,tuple,str)有一个共同的特点,就是当序列对象创建时,需要开辟专门的内存空间,保存序列中的所有元素.换句话说,这些序列对象本质上,是一个集合. 例如,下面代码创建了一个序列对象s.在该对象序列创建时,需要开辟内存空间将序列中的3个元素(整数1,2,3)保存下来. s=[1,2,3] 然而

Python细说 xrange 和 range 的区别

Python版本2.X: range的返回值是list,这意味着内存将会分布相应的长度的空间给list. xrange的返回值是一个生成器,有利于节省内存空间. Python版本3.X: 在3.X版本中,Python对range函数做了优化,并且取消了xrange函数. 3.X版本中,range函数返回的是一个range对象,如下. 1 >>> print(sys.version) 2 3.5.3 (v3.5.3:1880cb95a742, Jan 16 2017, 16:02:32)

Python基础教程:range/for/break/continue简单使用

range的使用:注意,在python3中,交互模式下已经不显示了 for循环的使用 打印50-70 ''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' # 第一种方案 for i in range(100): if i <= 70 and i >= 45: #注意这里使用的是 and/or/not 非java中的&&,||,! print (i) # 第二

python中xrange和range的区别

这两个基本上都是在循环的时候用. for i in range(0, 100): print i for i in xrange(0, 100): print i 这两个输出的结果都是一样的,实际上有很多不同,range会直接生成一个list对象: a = range(0,100) print type(a) print a #[0,1,2...] print a[0], a[1] 而xrange则不会直接生成一个list,而是每次调用返回其中的一个值 a = xrange(0,100) pri

python中xrange和range的异同

range    函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列(列表). >>> range(5) [0, 1, 2, 3, 4] >>> range(1,5) [1, 2, 3, 4] >>> range(0,6,2) [0, 2, 4] xrange    函数说明:用法与range完全相同,所不同的是生成的不是一个数组,而是一个生成器.xrange示例:

python中xrange()和range()函数的区别使用:

1.range()函数: 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列. >>> #range()函数不支持0参数 ... >>> range() Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: range expect

python基础--list转换range()的打印结果

for循环中常见的一个函数是range(),然而有时候直接打印range的时候,得到的结果却不是我们想要的,这个时候,可以用list列表来转换一下range的结果,让我们更清除的打印出range中的元素. 例如: s=10 d=5 for i in range(s,s+d): s=s+1 print(s) print(i) print(range(s, s + d, 1)) print(list(range(s,s+d,1))) 运行结果: 1110range(11, 16)[11, 12, 1