2017-02-06 22 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功能和相當使用文本語法{}