對python list 遍歷刪除的正確方法詳解
在遍歷list的時候,刪除符合條件的數(shù)據(jù),可是總是報異常,代碼如下:
num_list = [1, 2, 3, 4, 5] print(num_list) for i in range(len(num_list)): if num_list[i] == 2: num_list.pop(i) else: print(num_list[i]) print(num_list)
原因是在刪除list中的元素后,list的實際長度變小了,但是循環(huán)次數(shù)沒有減少,依然按照原來list的長度進行遍歷,所以會造成索引溢出。
解決方案:倒序循環(huán)刪除
num_list = [1, 2, 3, 4, 5] print(num_list) for i in range(len(num_list)-1, -1, -1): # for i in range(0, num_list.__len__())[::-1] if num_list[i] == 2: num_list.pop(i) else: print(num_list[i]) print(num_list)
以上這篇對python list 遍歷刪除的正確方法詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python flask web服務(wù)實現(xiàn)更換默認端口和IP的方法
今天小編就為大家分享一篇python flask web服務(wù)實現(xiàn)更換默認端口和IP的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07Python 如何用一行代碼實現(xiàn)for循環(huán)初始化數(shù)組
這篇文章主要介紹了Python 用一行代碼實現(xiàn)for循環(huán)初始化數(shù)組的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03對python實現(xiàn)二維函數(shù)高次擬合的示例詳解
今天小編就為大家分享一篇對python實現(xiàn)二維函數(shù)高次擬合的示例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12pycharm 復(fù)制代碼出現(xiàn)空格的解決方式
這篇文章主要介紹了pycharm 復(fù)制代碼出現(xiàn)空格的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01