pythonfor循環(huán)中range與len區(qū)別
range(x)
range(9) 代表著0、1、2、3、4、5、6、7、8 這九個(gè)順序數(shù)字的集合。
也就是 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) 等同于數(shù)組 [start,start+1,start+2,…,stop]
for i in range(3,8): print(i)
range(start,stop,step)
range(start,stop,step) 等同于數(shù)組 [start,start+step,start+step*2,…, stop]
for i in range(3,8,2): print(i)
len()
len全稱為length,意為長度。
len(x),x可以為字符串str,也可以為數(shù)組array,但是不能為 int整型或者float浮點(diǎn)型。
len字符串以及數(shù)組:
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循環(huán)中常常會(huì)見到range(len()),這種組合從里到外分析可以很清晰的理解:
依次打印出數(shù)組a中內(nèi)容:
a=[2,2,1,2,3,1] for i in range(len(a)): print(a[i])
但是其實(shí)我們可以不用range(len())組合,也可以按照要求打印出:
a=[2,2,1,2,3,1] for i in a: print(i)
用range常見錯(cuò)誤
TypeError: 'list' object cannot be interpreted as an integer
翻譯過來,其意思是 數(shù)組list 不能解釋為整數(shù),就是說 range(x) 的 x 必須是整數(shù),而此時(shí)是list,非法。
錯(cuò)誤范例:
a=[2,2,1,2,3,1] for i in range(a): print(i)
解決辦法:
加上len,嘗試用range(len(x))
len(x)將獲取x的長度,len(x)的值為整數(shù)值,為x中內(nèi)容或者x的長度的值。
到此這篇關(guān)于pythonfor循環(huán)中range與len區(qū)別的文章就介紹到這了,更多相關(guān)python for循環(huán) 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django 返回json數(shù)據(jù)的實(shí)現(xiàn)示例
這篇文章主要介紹了Django 返回json數(shù)據(jù)的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03python實(shí)現(xiàn)自動(dòng)獲取IP并發(fā)送到郵箱
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)自動(dòng)獲取IP并發(fā)到郵箱,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12通過數(shù)據(jù)庫向Django模型添加字段的示例
這篇文章主要介紹了通過數(shù)據(jù)庫向Django模型添加字段的示例,Django是人氣最高的Python web開發(fā)框架,需要的朋友可以參考下2015-07-07深入解析Python設(shè)計(jì)模式編程中建造者模式的使用
這篇文章主要介紹了深入解析Python設(shè)計(jì)模式編程中建造者模式的使用,建造者模式的程序通常將所有細(xì)節(jié)都交由子類實(shí)現(xiàn),需要的朋友可以參考下2016-03-03