#python #list #python-3.x
#python #Список #python-3.x
Вопрос:
У меня есть три списка на python. Первые два содержат строки, а третий содержит идентификаторы, которые соответствуют первому.
Я хотел бы сравнить строки из второго списка со всеми терминами из первого списка, и когда я нахожу ту же строку, я хочу взять идентификатор из третьего списка и заменить строку из второго списка.
например
list1 = ['hello, 'bye', 'third']
list2 = ['bye', 'second', 'forth']
list3 = [100, 150, 60]
как вы можете видеть, общим термином является bye
. Итак, я хочу взять идентификатор из list3 (который является 150
и соответствует строке в list1) и заменить 'bye'
строку из list2 этим идентификатором.
Есть ли простой способ сделать это с помощью python?
Ответ №1:
Сначала создайте словарь, сопоставляющий строки в list1
соответствующим идентификаторам. Затем используйте понимание списка, чтобы применить сопоставление:
list1 = ["hello", "bye", "third"]
list2 = ["bye", "second", "forth"]
list3 = [100, 150, 60]
d = dict(zip(list1, list3))
print([d.get(x, x) for x in list2])
С принтами
[150, 'second', 'forth']