2017-02-06 21 views
2

我有一个列表的列表,看起来像这样: [[ 'A',35],[ 'B',74],[ 'C',21],[ “d”,2]发现在列表的列表中的相关值

我想找到基于第二部分名单的第一部分。

例如,我知道,我只想用21我知道第二部分(21),以获得“C”,并想用它来获得的第一部分(“C”)。什么是最好的方法来做到这一点?

+2

。看看,如果你想查找基于另一个“关键”的价值观使用字典 – MooingRawr

回答

2

您应该使用字典这样的:

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

谢谢! +1用于切换字典中的值和键,这是我需要能够根据这个查找的 – user20408

1

解决这个问题的最好办法是使用dictioary而不是列表。字典的定义是一对密钥:值,你可以运行一个简单的代码行返回安勤的对应键在字典

+0

哇,果然是如字典(list_of_lists)一样简单。谢谢 – user20408

2

这类似于雅克的回答是:

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

这就像一个逆字典理解,但原来是在大多数情况下更快,因为你没有使用dict功能和相当使用文本语法{}