課程
/后端開發
/Python
/初識Python
for index, name in enumerate(L, 1): ? ?print index, '-', name
2018-02-25
源自:初識Python 9-2
正在回答
#!/usr/bin/env?python #?-*-?coding:?utf-8?-*- ''' 任務 zip()函數可以把兩個?list?變成一個?list: zip([10,?20,?30],?['A',?'B',?'C']) [(10,?'A'),?(20,?'B'),?(30,?'C')] 在迭代?['Adam',?'Lisa',?'Bart',?'Paul']?時,如果我們想打印出名次?-?名字(名次從1開始),請考慮如何在迭代中打印出來。 提示:考慮使用zip()函數和range()函數 ''' #?s?=?['Adam',?'Lisa',?'Bart',?'Paul'] #?for?index,?name?in?enumerate(s): #?????print?index?+?1,?'-',?name #?L?=?['Adam',?'Lisa',?'Bart',?'Paul'] #?for?index,?name?in?zip(range(1,?len(L)+1),?L): #?????print?index,?'-',?name L?=?['Adam',?'Lisa',?'Bart',?'Paul'] X?=?list(i?for?i?in?range(1,len(L)+1)) Y?=?zip(X,?L) print?Y for?index,?name?in?Y: ????print?index,?'-',?name
在python中迭代永遠是迭代出元素本身而非元素的索引,那么enumrate()方法就是相當于在for循環中拿到了元素的索引
如下面這個集合本身如果只是迭代的話他是只能迭代元素本身而且是沒有下標的,但是enumrate()函數完美解決了這個問題
>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']>>> for index, name in enumerate(L):
?????????????????print index, '-', name
????0 - Adam
????1 - Lisa
????2 - Bart
????3 - Paul
L在你的代碼中未事先定義。enumerate是把你的“L”數字化成為索引+內容的形式,打印 index, '-', name時會打印出L集合內的 索引數字(內容所在位置)+內容。參見下面例子
list1 = ["這", "是", "一個", "測試"]
??? for index, item in enumerate(list1): ??
print index, item
>>>
0 這
1 是
2 一個
3 測試
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-04-13
2018-02-25
在python中迭代永遠是迭代出元素本身而非元素的索引,那么enumrate()方法就是相當于在for循環中拿到了元素的索引
如下面這個集合本身如果只是迭代的話他是只能迭代元素本身而且是沒有下標的,但是enumrate()函數完美解決了這個問題
>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']
>>> for index, name in enumerate(L):
?????????????????print index, '-', name
????0 - Adam
????1 - Lisa
????2 - Bart
????3 - Paul
2018-02-25
L在你的代碼中未事先定義。enumerate是把你的“L”數字化成為索引+內容的形式,打印 index, '-', name時會打印出L集合內的 索引數字(內容所在位置)+內容。參見下面例子
list1 = ["這", "是", "一個", "測試"]
??? for index, item in enumerate(list1): ??
print index, item
>>>
0 這
1 是
2 一個
3 測試