Python 用元组列表中的元组替换字符串

Python 用元组列表中的元组替换字符串,python,list,replace,tuples,Python,List,Replace,Tuples,我很抱歉要问这样的新手问题,但事情是这样的。所以我基本上把它作为级别返回: levels = [(1, 210, 30, 500, 500, 'white'),(1, 210, 30, 200, 400, 'white'),(1, 210, 30, 600, 300, 'white')] 我想对它进行迭代,并将“白色”替换为白色,即(255255)。Python抱怨元组不可更改,所以我需要用元组而不是白色创建一个新列表。有没有快速的方法可以做到这一点?就这样做吧 levelsList = [l

我很抱歉要问这样的新手问题,但事情是这样的。所以我基本上把它作为级别返回:

levels = [(1, 210, 30, 500, 500, 'white'),(1, 210, 30, 200, 400, 'white'),(1, 210, 30, 600, 300, 'white')]
我想对它进行迭代,并将“白色”替换为白色,即(255255)。Python抱怨元组不可更改,所以我需要用元组而不是白色创建一个新列表。有没有快速的方法可以做到这一点?

就这样做吧

levelsList = [list(x) for x in level]
之后,您可以更改“白色”字符串,只需执行以下操作

levelsList = [list(x) for x in level]

之后,您可以更改“白色”字符串

如果要将其保留为元组列表,可以尝试:

replacements = {"white": (255, 255, 255)}
levelsList = [(a, b, c, d, e, replacements.get(f, f)) for a, b, c, d, e, f in levels]

如果要将其保留为元组列表,可以尝试:

replacements = {"white": (255, 255, 255)}
levelsList = [(a, b, c, d, e, replacements.get(f, f)) for a, b, c, d, e, f in levels]

你想要
12105050500,'255255255
'还是
12105050500,(255255255)
,还是
12105050500,255,255,255
?你想要
12105050505050500,'255255255
,还是
1210505050500,(255255)
,还是
12105050505050500,255,255
?不客气。如果你想同时替换一行中的白色,你可以通过
levelsList2=[[(255255255)如果l='white'else l for l in level]for levels in levels list]
来完成,但是它并没有真正提高可读性,因为某些原因,它已经工作了好几天,现在没有。我不知所措。奇怪,你在等级表上有什么变化吗?不客气。如果你想同时替换一行中的白色,你可以通过
levelsList2=[[(255255255)如果l='white'else l for l in level]for levels in levels list]
来完成,但是它并没有真正提高可读性,因为某些原因,它已经工作了好几天,现在没有。我不知所措。奇怪,你在等级列表中更改了什么吗?谢谢,这也是一个很好的方法:)谢谢,这也是一个很好的方法:)