gpt4 book ai didi

python - 遍历 python 元组列表并更改值

转载 作者:太空狗 更新时间:2023-10-30 01:55:06 25 4
gpt4 key购买 nike

我有这个代码

a=[(1,'Rach', 'Mell', '5.11', '160'),(2, 'steve', 'Rob', '6.1', '200'), (1,'Rach', 'Mell', '5.11', '160')]

如果 id = 2,我想将姓氏 Rob 更改为“Roberto”
所以我的想法是将元组更改为列表,以便轻松进行更改

我试过了:

a_len = len(a)
count = 0
a_list = []
while(count < a_len):
a_list.append(a[count])
count ++

for x, element in a_list:
if element[0] == 2:
a_list[x] = Roberto

但这行不通,你们知道怎么做吗?

谢谢!

最佳答案

这样做:

a=[(1,'Rach', 'Mell', '5.11', '160'),(2, 'steve', 'Rob', '6.1', '200'), (1,'Rach', 'Mell', '5.11', '160')]

for i,e in enumerate(a):
if e[0]==2:
temp=list(a[i])
temp[2]='Roberto'
a[i]=tuple(temp)

print a

打印:

[(1, 'Rach', 'Mell', '5.11', '160'), (2, 'steve', 'Roberto', '6.1', '200'), (1, 'Rach', 'Mell', '5.11', '160')]

如果你想要一个列表理解,这个:

>>> [t if t[0]!=2 else (t[0],t[1],'Roberto',t[3],t[4]) for t in a]
[(1, 'Rach', 'Mell', '5.11', '160'), (2, 'steve', 'Roberto', '6.1', '200'), (1, 'Rach', 'Mell', '5.11', '160')]

关于python - 遍历 python 元组列表并更改值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15261499/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com