Python-遍历列表时删除元素的正确做法
遍历在新在列表操作,删除时在原来的列表操作
- a = [1,2,3,4,5,6,7,8]
- print(id(a))
- print(id(a[:]))
- for i in a[:]:
- if i>5:
- pass
- else:
- a.remove(i)
- print(a)
- print('-----------')
- print(id(a))
- #filter
- a=[1,2,3,4,5,6,7,8]
- b = filter(lambda x: x>5,a)
- print(list(b))
列表解析
- a=[1,2,3,4,5,6,7,8]
- b = [i for i in a if i>5]
- print(b)
倒序删除 因为列表总是‘向前移’,所以可以倒序遍历,即使后面的元素被修改了,还没有被遍历的元素和其坐标还是保持不变的
- a=[1,2,3,4,5,6,7,8]
- print(id(a))
- for i in range(len(a)-1,-1,-1):
- if a[i]>5:
- pass
- else:
- a.remove(a[i])
- print(id(a))
- print('-----------')
- print(a)
解压密码: detechn或detechn.com
免责声明
本站所有资源出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。
本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户自行鉴别,做一个有主见和判断力的用户。
本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。