[英]Possible to extract a List from a Dictionary of Lists in Python?
我知道使用.values()会将值从字典中拉出到列表中,但是我很好奇是否有可能将第二个项目(例如)从字典中的列表中拉出而没有循环。
例如:
dictionary1={
fish : [1, 2, 3],
dog : [9, 5, 8],
cat : [4, 4, 4]
}
我想提取列表:
[3, 8, 4]
只是好奇是否有比循环更干净的方法,谢谢!
应该这样做:
>>> [v[2] for v in dictionary1.values()]
[3, 8, 4]
您应该将关键字放在字典的单引号/双引号中。
d1 = {
"fish" : [1, 2, 3],
"dog" : [9, 5, 8],
"cat" : [4, 4, 4]
}
print [x[-1] for x in d1.values()]
在您的问题中(如果我是对的话),您基本上是根据字典值创建2D数组,然后尝试获取该2D数组的特定列。 如果是这样,您可以使用python软件包numpy
轻松做到这一点,可以在此处找到该软件包的文档,
我认为以下代码将帮助您入门,
import numpy
dictionary1=dict(
fish = [1, 2, 3],
dog = [9, 5, 8],
cat = [4, 4, 4]
)
numpy_array = numpy.array(dictionary1.values())
column_number = 2
print numpy_array[:,column_number]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.