我有一个包含不同名称的列表:list = ['Tom', 'Mary', 'Robin', 'Tom']我想要做的,是替换'Tom'with'MESSAGE'和其他所有人 as 'RESPONSE'。像下面这样: list = ['MESSAGE', 'RESPONSE', 'RESPONSE', 'MESSAGE'] 有办法吗?最好只使用一行代码。
3 回答

慕尼黑8549860
TA贡献1818条经验 获得超11个赞
这是一个简单的列表理解:
["MESSAGE" if name == "Tom" else "RESPONSE" for name in list]
作为旁注,不要使用诸如list
命名变量的内置函数。

慕容森
TA贡献1853条经验 获得超18个赞
这是一次尝试,而且是在一条线上。如果列表仅包含 2 个唯一值,则
replacedList = ['MESSAGE' if item == 'Tom' else 'RESPONSE' for item in list]

拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
您可以尝试使用列表理解:
list = ["MESSAGE" if item == "Tom" else "RESPONSE" for item in list]
添加回答
举报
0/150
提交
取消