日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python如何獲取列表中每個元素的下標位置

系統 1698 0

Git是編程中的基本技能之一,互聯網公司幾乎都在使用Git進行協作編程,昨天還有位禪友在微信上專門告訴我說星期五面試的時候剛好被問到 Git,幸好在這幾天學了一下。Git并不難,但會Git至少可以說明一個人的學習能力或者說對技術的嗅覺能跟上主流,如果面試問你GitHub是什么都不知道,面試官就會對你打一個大的問號。

簡單點評這一道題。

在使用 for 循環迭代一個列表時,有時我們需要獲取列表中每個元素所在的下標位置是多少,例如 numbers = [10, 29, 30, 41],要求輸出 (0, 10),(1, 29),(2, 30),(3, 41)

這道題的實現方式主要有兩種方式,第一種方式是通過獲取列表長度來迭代列表下標

            
for i in range(len(numbers)):
print('({0}, {1})'.format(i, numbers[i]))
          

第二種方法是直接使用enumerate函數:

            
numbers = [10, 29, 30, 41]
for index, value in enumerate(numbers):
print(index, value)
          

后者才是更地道的寫法,在Python之禪中有一條格言是:There should be on,and preferably only one,obvious way to do it. 就是說我們寫代碼的時候應該選擇一種而且最好是唯一一種顯而易見的方式來實現。

內置函數 enumerate 還可以接收一個默認參數 start ,用于指定 index 從哪個數開始,默認是0,不知道有多少禪友知道這個用法,如果你不知道,那么建議你遇到新知識就更加詳細地了解一下官方文檔,而不僅僅只是淺嘗輒止 ,學會查文檔也是一個很重要的學習方法。文檔

大家提交的代碼大部分都回答對了,但也有些問題代碼,比如命名很隨意:

            
numbers = [10, 29, 30, 41]
for i, j in enumerate(numbers):
print(i, j)
          

用 i 和 j 這種沒有任何意義的名字顯得很業余,有人說這只是練習,但如果練習都是這樣的態度,很難說工作時你能取一個合理的名字。

還有禪友用list工廠函數返回一個新的列表,這種寫法有點畫蛇添足,而且在迭代超大的列表時會占用更多的內存,因為你又創建了一個新的列表。

            
numbers = [10,29,30,41]
for i in list(enumerate(numbers)):
print(i,end=' ')
          

勝者屬于堅持到最后的人

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亳州市| 凤山县| 阿瓦提县| 海口市| 襄汾县| 南岸区| 阳朔县| 紫金县| 横山县| 子洲县| 东平县| 通河县| 新晃| 贵港市| 静安区| 乌拉特前旗| 格尔木市| 石林| 长寿区| 密云县| 韶关市| 迁西县| 望城县| 昭通市| 平定县| 南昌市| 牟定县| 乌拉特中旗| 宁城县| 商丘市| 吉首市| 安宁市| 白玉县| 绥滨县| 永康市| 都安| 马关县| 翁牛特旗| 涞源县| 兴文县| 驻马店市|