python如何獲取列表中每個元素的下標(biāo)位置
Git是編程中的基本技能之一,互聯(lián)網(wǎng)公司幾乎都在使用Git進(jìn)行協(xié)作編程,昨天還有位禪友在微信上專門告訴我說星期五面試的時候剛好被問到 Git,幸好在這幾天學(xué)了一下。Git并不難,但會Git至少可以說明一個人的學(xué)習(xí)能力或者說對技術(shù)的嗅覺能跟上主流,如果面試問你GitHub是什么都不知道,面試官就會對你打一個大的問號。
簡單點(diǎn)評這一道題。
在使用 for 循環(huán)迭代一個列表時,有時我們需要獲取列表中每個元素所在的下標(biāo)位置是多少,例如 numbers = [10, 29, 30, 41],要求輸出 (0, 10),(1, 29),(2, 30),(3, 41)
這道題的實(shí)現(xiàn)方式主要有兩種方式,第一種方式是通過獲取列表長度來迭代列表下標(biāo)
for i in range(len(numbers)):
print('({0}, {1})'.format(i, numbers[i]))
第二種方法是直接使用enumerate函數(shù):
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. 就是說我們寫代碼的時候應(yīng)該選擇一種而且最好是唯一一種顯而易見的方式來實(shí)現(xiàn)。
內(nèi)置函數(shù) enumerate 還可以接收一個默認(rèn)參數(shù) start ,用于指定 index 從哪個數(shù)開始,默認(rèn)是0,不知道有多少禪友知道這個用法,如果你不知道,那么建議你遇到新知識就更加詳細(xì)地了解一下官方文檔,而不僅僅只是淺嘗輒止 ,學(xué)會查文檔也是一個很重要的學(xué)習(xí)方法。文檔
大家提交的代碼大部分都回答對了,但也有些問題代碼,比如命名很隨意:
numbers = [10, 29, 30, 41] for i, j in enumerate(numbers): print(i, j)
用 i 和 j 這種沒有任何意義的名字顯得很業(yè)余,有人說這只是練習(xí),但如果練習(xí)都是這樣的態(tài)度,很難說工作時你能取一個合理的名字。
還有禪友用list工廠函數(shù)返回一個新的列表,這種寫法有點(diǎn)畫蛇添足,而且在迭代超大的列表時會占用更多的內(nèi)存,因?yàn)槟阌謩?chuàng)建了一個新的列表。
numbers = [10,29,30,41] for i in list(enumerate(numbers)): print(i,end=' ')
勝者屬于堅持到最后的人
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python 經(jīng)典算法100及解析(小結(jié))
這篇文章主要介紹了Python 經(jīng)典算法100及解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
python gensim使用word2vec詞向量處理中文語料的方法
這篇文章主要介紹了python gensim使用word2vec詞向量處理中文語料的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Python socket 套接字實(shí)現(xiàn)通信詳解
這篇文章主要介紹了Python socket 套接字實(shí)現(xiàn)通信詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08
Python編寫一個驗(yàn)證碼圖片數(shù)據(jù)標(biāo)注GUI程序附源碼
這篇文章主要介紹了Python編寫一個驗(yàn)證碼圖片數(shù)據(jù)標(biāo)注GUI程序,本文給大家附上小編精心整理的源碼,需要的朋友可以參考下2019-12-12
yolov5使用flask部署至前端實(shí)現(xiàn)照片\視頻識別功能
初學(xué)者在使用YOLO和Flask構(gòu)建應(yīng)用時,往往需要實(shí)現(xiàn)上傳圖片和視頻的識別功能,本文介紹了如何在Flask框架中實(shí)現(xiàn)這一功能,包括文件上傳、圖片放大查看、視頻識別以及識別后的文件下載,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09

