我在python中有三个列表。前两个包含字符串,第三个包含与第一个匹配的ID。
我想将第二个列表中的字符串与第一个列表中的所有字词进行比较,当我找到相同的字符串时,我想从第三个列表中取出id并从第二个列表中替换字符串。
e.g。
list1 = ['hello, 'bye', 'third']
list2 = ['bye', 'second', 'forth']
list3 = [100, 150, 60]
你可以看到常用术语是bye
。所以我想从list3中获取id(它是150
并且对应于list1中的字符串)并将list2中的'bye'
字符串替换为此id。
使用python有一种简单的方法吗?
答案 0 :(得分:2)
首先,构造一个字典,将list1
中的字符串映射到相应的id。然后,使用列表推导来应用映射:
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']