использование Python для сравнения списков

#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']