2013-09-29 142 views
0

我有以下項目的Python字典:獲取從列表中的值列表在Python字典

professions = {Peasant : ["Peasant", 10000], Merchant : ["Merchant", 15000], ...} 

,其中鍵是ID的。有沒有一種巧妙的方法來獲得價值清單第一個條目的清單?我想,它返回一個函數:

["Peasant", "Merchant", ...] 

感謝建議

+1

爲什麼你不能使用字典鍵?爲什麼在列表值中重複鍵? –

+0

och,對不起,忘了提及:鑰匙是id的 – anhoppe

+0

我想@DanielRoseman問的是每個列表中第一個元素的意義是什麼?它們與關鍵字一樣,爲什麼不只是「職業=」「農民」:10000,...}? – SethMMorton

回答

2

問題是相當不足的規定,但假設你想要做的就是提取每個列表中的第一個值,這將是:

names = [v[0] for v in professions.values()] 
+0

Jup,這就是我想要的。謝謝 – anhoppe

+1

@anhoppe更具體的說法就是接受答案:) – flup

+0

;-)會做,但要等10分鐘 – anhoppe

0

使用.values()方法

professions.values() 
+0

沒有嘗試過:不會.values()只返回列表[[「農民」,1000],[「商人」,15000]]? – anhoppe

+1

是的,你將不得不循環並獲得list [x] [0],其中list是返回的列表,x是每個列表索引。 – androiddev19

0

如果你的意思是檢索字典的所有鍵:professions.keys()

例如:

professions = {Peasant : ["Peasant", 10000], Merchant : ["Merchant", 15000]} 

print(professions.keys()) #["Peasant", "Merchant"] 
1

也許這是你在找什麼:

[value[0] for value in professions.values()]