猿问

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


慕的地6264312
浏览 1863回答 3
3回答

UYOU

l = ['1', '2', '1', '1']new_l = []for i in l:if i == '1':     new_l.append(3)else:     new_l.append(i)l = new_lprint(l)

函数式编程

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

手掌心

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

相关分类

Python
我要回答