使用python比较列表

时间:2011-11-07 22:42:08

标签: python list python-3.x

我在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有一种简单的方法吗?

1 个答案:

答案 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']