据我所知,使用.values()会将字典中的值拉出到列表中,但我很好奇是否可以将第二项(例如)从没有循环的字典中的列表中拉出来。
例如:
dictionary1={
fish : [1, 2, 3],
dog : [9, 5, 8],
cat : [4, 4, 4]
}
我想提取清单:
[3, 8, 4]
只是好奇是否有比循环更清洁的方式,谢谢!
答案 0 :(得分:2)
这应该这样做:
>>> [v[2] for v in dictionary1.values()]
[3, 8, 4]
答案 1 :(得分:1)
你应该把键放在字典中的单/双引号中。试试这个。
d1 = {
"fish" : [1, 2, 3],
"dog" : [9, 5, 8],
"cat" : [4, 4, 4]
}
print [x[-1] for x in d1.values()]
答案 2 :(得分:1)
在您的问题中(如果我是正确的),您基本上是从字典值创建2D数组,然后尝试获取该2D数组的特定列。如果是这样,您可以使用python包numpy
轻松完成此操作,可以使用该文件包here,
我认为以下代码可以帮助您入门,
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]