l = ['1', '2', '1', '1']
for i in l:
if i == '1':
i = '3'
print(l)
為什么l的結(jié)果還是['1', '2', '1', '1'],如何修改成['3', '2', '3', '3']?
2 回答

揚(yáng)帆大魚
TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊
# 方法一
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'
另外,如果要?jiǎng)h除元素,建議不要直接在原數(shù)據(jù)上做修改,比較謹(jǐn)慎的做法是復(fù)制一份出來list.remove(value)
刪除。

MYYA
TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個(gè)贊
# 修改原列表
for idx, i in enumerate(l):
if i == '1':
l[idx] = '3'
# 或產(chǎn)生新的列表
l = ['3' if i=='1' else i for i in l]
添加回答
舉報(bào)
0/150
提交
取消