2013-09-29 94 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()]