91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Python迭代時使用索引

發布時間:2021-04-07 17:37:12 來源:億速云 閱讀:246 作者:Leah 欄目:開發技術

本篇文章為大家展示了怎么在Python迭代時使用索引,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

索引迭代

Python中,迭代永遠是取出元素本身,而非元素的索引

對于有序集合,元素確實是有索引的。有的時候,我們確實想在 for 循環中拿到索引,怎么辦?

方法是使用 enumerate()函數:

>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']
>>> for index, name in enumerate(L):
...   print index, '-', name
...
0 - Adam
1 - Lisa
2 - Bart
3 - Paul

使用 enumerate()函數,我們可以在for循環中同時綁定索引index和元素name。但是,這不是 enumerate()的特殊語法。實際上,enumerate()函數把:

['Adam', 'Lisa', 'Bart', 'Paul']

變成了類似:

[(0, 'Adam'), (1, 'Lisa'), (2, 'Bart'), (3, 'Paul')]

因此,迭代的每一個元素實際上是一個tuple:

for t in enumerate(L):
  index = t[0]
  name = t[1]
  print index, '-', name

如果我們知道每個tuple元素都包含兩個元素,for循環又可以進一步簡寫為:

for index, name in enumerate(L):
  print index, '-', name

這樣不但代碼更簡單,而且還少了兩條賦值語句。

可見,索引迭代也不是真的按索引訪問,而是由 enumerate()函數自動把每個元素變成 (index, element) 這樣的tuple,再迭代,就同時獲得了索引和元素本身。

同時,也可以采用zip的方法給迭代對象加上索引

zip()函數可以把兩個 list 變成一個 list:

>>> zip([10, 20, 30], ['A', 'B', 'C'])
[(10, 'A'), (20, 'B'), (30, 'C')]

在迭代 ['Adam', 'Lisa', 'Bart', 'Paul'] 時,如果我們想打印出名次 - 名字(名次從1開始),請考慮如何在迭代中打印出來。

提示:考慮使用zip()函數和range()函數

代碼如下:

L = ['Adam', 'Lisa', 'Bart', 'Paul']
for index, name in zip(range(1, 5), L):
  print index, '-', name

輸出結果為:

1 - Adam
2 - Lisa
3 - Bart
4 - Paul

上述內容就是怎么在Python迭代時使用索引,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绥滨县| 分宜县| 天水市| 铜鼓县| 鹤壁市| 巴中市| 鲁山县| 怀来县| 五家渠市| 巴塘县| 汝城县| 互助| 镇江市| 百色市| 鸡泽县| 信宜市| 红原县| 武穴市| 邳州市| 武陟县| 浏阳市| 永州市| 郧西县| 安仁县| 雷山县| 光山县| 广水市| 龙岩市| 新昌县| 牡丹江市| 永济市| 阿荣旗| 如东县| 彩票| 浪卡子县| 古丈县| 凤山市| 平武县| 宁国市| 张掖市| 长春市|