繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2025 STACKOOM.COM