在列表列表中查找关联值

时间:2017-02-06 18:22:07

标签: python indexing

我有一个列表,如下所示: [['A',35],['B',74],['C',21],['D',2]]

我想根据第二部分找到列表的第一部分。

例如,我知道我想通过使用21来获得'C'。我知道第二部分(21)并且想要使用它来获得第一部分('C')。最好的方法是什么?

3 个答案:

答案 0 :(得分:2)

您应该使用字典:

mylist = [['A', 35], ['B', 74], ['C', 21], ['D', 2]]
newdic = dict((y,x) for x,y in mylist)
print(newdic[21])

答案 1 :(得分:2)

这与雅克的答案类似:

d = {v: k for k, v in [['A', 35], ['B', 74], ['C', 21], ['D', 2]]}

这就像是一个反向词典理解,但在大多数情况下变得更快,因为你没有使用dict函数,而是使用文字语法{}

答案 2 :(得分:1)

解决此问题的最佳方法是使用dictioary而不是list。字典被定义为一对key:value,你可以运行一行简单的代码来返回字典中相应的avalue键