3 回答

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊
>>> a = [1,2,3,2,4,2,5]
>>> a[:] = [10 if x==2 else x for x in a]
>>> a
[1, 10, 3, 10, 4, 10, 5]
如果要替換多個(gè)項(xiàng)目,請(qǐng)考慮使用dict:
>>> dic = {2 : 10}
>>> a[:] = [dic.get(x,x) for x in a]
>>> a
[1, 10, 3, 10, 4, 10, 5]

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊
您正在尋找enumerate():
for indx, ele in enumerate(a):
if ele == 2:
a[indx] = 10
print a
印刷:
[1, 10, 3, 10, 4, 10, 5]
如果要更改的值是輸入,則只需執(zhí)行以下操作:
change = map(int, raw_input("What number do you want to change in the list? And what number should it be? Separate both numbers with a space ").split())
for indx, _ in enumerate(a):
if change[0] == 2:
a[indx] = change[1]
或作為列表理解(如果您喜歡此解決方案,請(qǐng)支持Ashwini的:)):
change = map(int, raw_input("What number do you want to change in the list? And what number should it be? Separate both numbers with a space ").split())
[change[1] if x == change[0] else x for x in a]
添加回答
舉報(bào)