为了账号安全,请及时绑定邮箱和手机立即绑定

一个简单 Python 列表操作求解

一个简单 Python 列表操作求解

隔江千里 2019-02-26 20:11:33
现有一列表: a = [1, 3, 4, 0, 1, 5, 5, 1, 5, 1, 5, 6, 2, 3, 1, 5, 3] 条件: 删除所有 5 元素前面的元素 1 在所有的 3 元素后面加上 3 个元素 2 该怎么操作? 更新:是两个条件同时满足,不是分别。
查看完整描述

4 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

    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(',')
查看完整回答
反对 回复 2019-03-01
?
慕后森

TA贡献1802条经验 获得超5个赞

感谢 @土豆_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
查看完整回答
反对 回复 2019-03-01
  • 4 回答
  • 0 关注
  • 594 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信