一个简单 Python 列表操作求解

现有一列表:

a = [1, 3, 4, 0, 1, 5, 5, 1, 5, 1, 5, 6, 2, 3, 1, 5, 3]

条件:

  1. 删除所有 5 元素前面的元素 1
  2. 在所有的 3 元素后面加上 3 个元素 2

该怎么操作?

更新:是两个条件同时满足,不是分别。

隔江千里
浏览 595回答 4
4回答

鸿蒙传说

a = [1, 3, 4, 0, 1, 5, 5, 1, 5, 1, 5, 6, 2, 3, 1, 5, 3] ','.join( [str(i) for i in a] ).replace('1,5', '5').replace('3', '3,2,2,2').split(',')

慕后森

感谢 @土豆_612874 指正,不过使用 enumerate 会出现列表越界问题, 1. for i in range(len(a)-1, 0, -1): if a[i] == 5 and a[i-1] ==1: a.pop(i-1) print a 2. for i in range(len(a)-1, -1, -1): if a[i] == 3: a.insert(i+1, 2) a.insert(i+1, 2) a.insert(i+1, 2) print a
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python