我有一個包含不同名稱的列表: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
提交
取消