Python-遍历列表时删除元素的正确做法

本文阅读 1 分钟
首页 Python笔记 正文

遍历在新在列表操作,删除时在原来的列表操作

  1. a = [1,2,3,4,5,6,7,8]
  2. print(id(a))
  3. print(id(a[:]))
  4. for i in a[:]:
  5. if i>5:
  6. pass
  7. else:
  8. a.remove(i)
  9. print(a)
  10. print('-----------')
  11. print(id(a))
  1. #filter
  2. a=[1,2,3,4,5,6,7,8]
  3. b = filter(lambda x: x>5,a)
  4. print(list(b))

列表解析

  1. a=[1,2,3,4,5,6,7,8]
  2. b = [i for i in a if i>5]
  3. print(b)

倒序删除 因为列表总是‘向前移’,所以可以倒序遍历,即使后面的元素被修改了,还没有被遍历的元素和其坐标还是保持不变的

  1. a=[1,2,3,4,5,6,7,8]
  2. print(id(a))
  3. for i in range(len(a)-1,-1,-1):
  4. if a[i]>5:
  5. pass
  6. else:
  7. a.remove(a[i])
  8. print(id(a))
  9. print('-----------')
  10. print(a)
解压密码: detechn或detechn.com

免责声明

本站所有资源出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。

本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户自行鉴别,做一个有主见和判断力的用户。

本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。

Python一行代码实现1-100之和
« 上一篇 01-31
字符串的操作题目
下一篇 » 01-31

发表评论