pythonfor循环中range与len区别
range(x)
range(9) 代表着0、1、2、3、4、5、6、7、8 这九个顺序数字的集合。
也就是 range(9) => range(0,9) => [0,1,2,3,4,5,6,7,8]
我们尝试用 for 打印 range(9):
此外,range还有另外两种用法,形如切片:
range(start,stop) 以及 range(start,stop,step)
range(start,stop)
range(start,stop) 等同于数组 [start,start+1,start+2,…,stop]
for i in range(3,8): print(i)
range(start,stop,step)
range(start,stop,step) 等同于数组 [start,start+step,start+step*2,…, stop]
for i in range(3,8,2): print(i)
len()
len全称为length,意为长度。
len(x),x可以为字符串str,也可以为数组array,但是不能为 int整型或者float浮点型。
len字符串以及数组:
print("len('hello world')=",len("hello world!")) print("len([0,1,2,3,4,5,6,7,8,9])=",len([0,1,2,3,4,5,6,7,8,9]))
len不支持 int 或者float
print("len(12)=",len(12)) print("len(3.1415)=",len(3.1415))
range(len())
在python循环中常常会见到range(len()),这种组合从里到外分析可以很清晰的理解:
依次打印出数组a中内容:
a=[2,2,1,2,3,1] for i in range(len(a)): print(a[i])
但是其实我们可以不用range(len())组合,也可以按照要求打印出:
a=[2,2,1,2,3,1] for i in a: print(i)
用range常见错误
TypeError: 'list' object cannot be interpreted as an integer
翻译过来,其意思是 数组list 不能解释为整数,就是说 range(x) 的 x 必须是整数,而此时是list,非法。
错误范例:
a=[2,2,1,2,3,1] for i in range(a): print(i)
解决办法:
加上len,尝试用range(len(x))
len(x)将获取x的长度,len(x)的值为整数值,为x中内容或者x的长度的值。
到此这篇关于pythonfor循环中range与len区别的文章就介绍到这了,更多相关python for循环 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
PaddleNLP ppdiffusers 自动生成兔了个兔海报
这篇文章主要为大家介绍了PaddleNLP ppdiffusers 自动生成兔了个兔海报示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-01-01python 怎样将dataframe中的字符串日期转化为日期的方法
这篇文章主要介绍了python 怎样将dataframe中的字符串日期转化为日期的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-09-09
最新评论