Заменить строку в списке, которая НЕ равна значению в Python - PullRequest
0 голосов
/ 05 августа 2020

У меня есть список, содержащий разные имена:

list = ['Tom', 'Mary', 'Robin', 'Tom']

Я хочу заменить 'Tom' на 'MESSAGE', а все остальные как 'RESPONSE'.

Как показано ниже: list = ['MESSAGE', 'RESPONSE', 'RESPONSE', 'MESSAGE']

Есть способ сделать это? Желательно использовать только одну строку кода.

Ответы [ 3 ]

3 голосов
/ 05 августа 2020

Это простое понимание списка:

["MESSAGE" if name == "Tom" else "RESPONSE" for name in list]

В качестве примечания, не используйте встроенные модули, такие как list, для именования ваших переменных.

0 голосов
/ 05 августа 2020

Это попытка, и это в одной строке. Если в списке всего 2 уникальных значения, то

replacedList = ['MESSAGE' if item == 'Tom' else 'RESPONSE' for item in list]

ссылка из здесь

0 голосов
/ 05 августа 2020

Вы можете попробовать использовать понимание списка :

list = ["MESSAGE" if item == "Tom" else "RESPONSE" for item in list]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...