記得 for ...... : 有冒號,循環(huán)內(nèi)容要縮進(jìn)(indent)來表示它屬于當(dāng)前循環(huán)。
成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的武勝網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
縮進(jìn)約定俗成打4個空格。
range 能生成一系列數(shù)字。幾乎所有語言在數(shù)字范圍上都遵循[left, right)的做法,故 range(left, right) 會生成一系列從left到right-1、步長為1的數(shù)字。
其他用法:
用法:
注意:
在上面的復(fù)制中, letters_copy = letters[:] 將拷貝一份 letters 的內(nèi)容到 letters_copy 里, 如果你寫 letters_copy = letters ,這將把 letters 賦給 letter_copy 從而使兩者指向同一個變量:
可以看到 letters_copy = letters 將使兩者成為同一個變量。
元組使用()而不是[],我們可以改變整個元組,而不能改變元組的元素。
沒有優(yōu)雅的方法解決,只有不要使用print語句,如樓上所說,或者使用python3.X中的print函數(shù)(通過
from __future__ import print_function使能print函數(shù)形式)
其實(shí),在python2.X手冊中對print語句描述說:(python2.7.2官方幫助文檔)
一個空格會被自動打印在每個對象前,
除非:(1)還沒有輸出寫到標(biāo)準(zhǔn)輸出中
(2)當(dāng)最后一個寫到標(biāo)準(zhǔn)輸出的是一個除了空格‘ ’的空白字符
(3)當(dāng)最后寫到標(biāo)準(zhǔn)輸出的不是一個print語句。
所以在apple、banana等每個字符前都有一個空格。(apple的a前也有空格呢?。?/p>
一個好的解決辦法是使用python3.X中的print函數(shù)。
通過在文件前面加上:
from __future__ import print_function
就可以使用print的函數(shù)形式了。
print函數(shù)的語法:
print([object, ...][, sep=' '][, end='\n'][, file=sys.stdout])
默認(rèn)下,若沒有指定sep,則使用空格。沒指定end,則使用換行符。沒指定輸出文件則輸出到標(biāo)準(zhǔn)輸出。
例如:print('hello','world',sep='-',end='#')輸出:
hello-world#
所以,你的程序可改為:
from __future__ import print_function
list = ["apple", "banana", "grape", "orange"]
for x in range(len(list)):
print('list[%d]:'%x,end='')
for y in range(len(list[x])):
print(list[x][y],sep='',end='')
print('')
至于: 'list[%d]:'%x 這里的百分號,是一個對字符串的操作符。百分號使得百分號前面的字符串中
的%d被百分號后的x的值替換掉。
列表的遍歷
方法一:通過for循環(huán)
li = [i for i in range(10)]
for i in li:
print(i)
方法二:通過while循環(huán)
# 雖然for循環(huán)已經(jīng)很好用了,但是在有些情況下,使用while循環(huán)可以更靈活
# 只需要將判斷條件設(shè)置為小于列表長度,即可完成列表通過while循環(huán)的遍歷
li = [i for i in range(10)]
i = 0
while i len(li):
print(li[i])
i += 1
方法三:配合enumerate使用,同時(shí)獲取列表的索引
li = [i + 1 for i in range(10)]
# 此時(shí),i為一個元組,元組的第一個元素為索引,第二個元素為原列表的元素
# 因此,在遍歷列表的同時(shí),需要同時(shí)獲取坐標(biāo)的情況下,可以配合enumerate()一起使用
for i in enumerate(li):
print(i)
字典的遍歷
字典的遍歷和列表有一些不同,因?yàn)樽值溆墟I和值兩個關(guān)鍵部分。默認(rèn)的遍歷情況,是遍歷字典的鍵,當(dāng)然,可以通過字典的鍵取得值,也可以直接遍歷值,或者直接遍歷鍵和值。
方法一:直接使用for循環(huán)
直接使用for循環(huán)對一個字典進(jìn)行遍歷,默認(rèn)取得的是字典的鍵
dt = {i: i + 1 for i in range(10)}
for i in dt:
print("字典的鍵:", i) # 字典的鍵
print("字典的值:", dt[i]) # 字典的值
方法二:遍歷dict.keys()
這種方法與方法一的效果其實(shí)是一樣的,同樣是獲取字典的鍵
dt = {i: i + 1 for i in range(10)}
for i in dt.keys():
print("字典的鍵:", i) # 字典的鍵
print("字典的值:", dt[i]) # 字典的值
方法三:遍歷dict.values()
這種方法與方法一和二很不相同,因?yàn)樗猾@取了字典的值
dt = {i: i + 1 for i in range(10)}
# 這是很特殊的方法,因?yàn)樗鼪]有獲取字典的鍵
for i in dt.values():
print("字典的值:", i) # 此時(shí)i不再是字典的鍵,而是值
方法四:遍歷dict.items()
這種方法一般來說要更好,因?yàn)樗瑫r(shí)獲取到了字典的鍵和值,而且性能上要高于先獲取鍵,再通過鍵獲取對應(yīng)的值
dt = {i: i + 1 for i in range(10)}
for i in dt.items():
print("字典的鍵值對:", i)
print("字典的鍵:", i[0])
print("字典的值:", i[1])
總結(jié)
1,列表的遍歷比較簡單,除了配合enumerate()使用,可以同步獲取索引以外,并沒有特別值得糾結(jié)的。
2,字典的遍歷方法比較多,其中第四種是能適用于一切情況的,前兩種也可以適用于一切情況,但是如果你同時(shí)需要獲取鍵和值,性能不如第四種要好。第三種比較特別,除非你真的只需要字典的值,否則它在多數(shù)情況下是不能夠滿足需求的。
enumerate python用法具體如下:
enumerate函數(shù)用于遍歷序列中的元素以及它們的下標(biāo),多用于在for循環(huán)中得到計(jì)數(shù),enumerate參數(shù)為可遍歷的變量,如字符串,列表等。
一般情況下對一個列表或數(shù)組既要遍歷索引又要遍歷元素時(shí),會這樣寫:但是這種方法有些累贅,使用內(nèi)置enumerrate函數(shù)會有更加直接,優(yōu)美的做法。
enumerate函數(shù)說明
函數(shù)原型:enumerate(sequence,start=0])。功能:將可循環(huán)序列sequence以start開始分別列出序列數(shù)據(jù)和數(shù)據(jù)下標(biāo),即對一個可遍歷的數(shù)據(jù)對象(如列表、元組或字符串),enumerate會將該數(shù)據(jù)對象組合為一個索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo)。存在一個sequence。
什么是Python
Python是一種廣泛使用的解釋型、高級和通用的編程語言。Python由荷蘭數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究學(xué)會的Guido van Rossum創(chuàng)造,第一版發(fā)布于1991年,它是ABC語言的后繼者,也可以視之為一種使用傳統(tǒng)中綴表達(dá)式的LISP方言。Python提供了高效的高級數(shù)據(jù)結(jié)構(gòu),還能簡單有效地面向?qū)ο缶幊獭?/p>
用Python成對的訪問列表可以用zip函數(shù): zip(L, L[1:])。將最后一個與第一個連在一起。
L = [1, 2, 3]
zip(L, L[1:] + L[:1])
[(1, 2), (2, 3), (3, 1)]
當(dāng)前題目:python函數(shù)列表遍歷 python中如何遍歷列表
文章轉(zhuǎn)載:http://sd-ha.com/article0/doosdoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、、全網(wǎng)營銷推廣、定制開發(fā)、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)