可以从Python中的列表字典中提取列表吗?

时间:2014-09-23 03:49:42

标签: python dictionary

据我所知,使用.values()会将字典中的值拉出到列表中,但我很好奇是否可以将第二项(例如)从没有循环的字典中的列表中拉出来。

例如:

dictionary1={
             fish : [1, 2, 3],
             dog :  [9, 5, 8],
             cat :  [4, 4, 4]
             }

我想提取清单:

[3, 8, 4]

只是好奇是否有比循环更清洁的方式,谢谢!

3 个答案:

答案 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]