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

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']?

牛魔王的故事
浏览 574回答 2
2回答

扬帆大鱼

# 方法一 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) 删除。

MYYA

# 修改原列表 for idx, i in enumerate(l): if i == '1': l[idx] = '3' # 或产生新的列表 l = ['3' if i=='1' else i for i in l]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python