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

python如何用for循环修改一个list中元素的值

python如何用for循环修改一个list中元素的值

牛魔王的故事 2019-02-17 02:03:36
l = ['1', '2', '1', '1'] for i in l: if i == '1': i = '3' print(l) 为什么l的结果还是['1', '2', '1', '1'],如何修改成['3', '2', '3', '3']?
查看完整描述

2 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

# 方法一
for i in range(len(l)):
     if l[i] == '1':
          l[i] = '3'


# 方法二
for i, item in enumerate(l):
    if item == '1':
          l[i] = '3'

另外,如果要删除元素,建议不要直接在原数据上做修改,比较谨慎的做法是复制一份出来list.remove(value) 删除。

查看完整回答
反对 回复 2019-03-01
?
MYYA

TA贡献1868条经验 获得超4个赞

# 修改原列表
for idx, i in enumerate(l):
    if i == '1':
        l[idx] = '3'
# 或产生新的列表
l = ['3' if i=='1' else i for i in l]        
查看完整回答
反对 回复 2019-03-01
  • 2 回答
  • 0 关注
  • 573 浏览
慕课专栏
更多

添加回答

举报

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