您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)替換python列表中元素的方法,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
、
有時候可能要修改python的列表,通過遍歷整個列表,修改值。但是這里有一個問題。
直接看代碼吧。
num_list =range(5) for item in num_list: item = item*2 print num_list
這樣循環(huán)取里面的元素,修改里面的值,感覺 是沒有什么問題。 其實(shí)結(jié)果 沒有被修改,原因item 的id 已經(jīng)不是原來的id,看下面
[0,1,2,3,4]
那么問題該如何修改list 里面元素的值呢?
#方法一 for i, item in enumerate(num_list): num_list[i] =num_list[i]*2 #方法二 for i in range(len(num_list)): num_list[i] = num_list[i]*2
這兩種方法類似,就是拿到索引值,直接通過索引,在修改里面的值,就可以了。
為什么python中不建議在for循環(huán)中修改列表?
在遍歷列表,如果要刪除也要小心??梢韵葟?fù)制一份,在進(jìn)行操作。例如:
num_list = [1, 2, 3, 4, 5] for item in num_list[:]: if item == 2: num_list.remove(item) else: print(item) print(num_list)
如果要刪除某個元素, 可以先復(fù)制一份。對復(fù)制的列表 遍歷,找到相關(guān)條件,list.remove(value) 把它刪除,這樣做比較安全。
關(guān)于替換python列表中元素的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。