Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何访问字典中的某个元素_Python_List_Numpy_Dictionary - Fatal编程技术网

Python 如何访问字典中的某个元素

Python 如何访问字典中的某个元素,python,list,numpy,dictionary,Python,List,Numpy,Dictionary,我有一本巨蟒词典。比如说,400k元素对。我知道所有的键都是不同的,而所有的值都是固定维向量。为了进一步的处理,我需要创建numpy零向量的形状,和字典中所有向量的形状相同。为了完成此任务,我运行以下代码: import numpy as np for vector in dictionary.values(): break; accumulator = np.zeros_like(vector); 有没有更优雅的方法来实现相同的功能?我尝试从值创建一个列表,并获取 vector = list

我有一本巨蟒词典。比如说,400k元素对。我知道所有的键都是不同的,而所有的值都是固定维向量。为了进一步的处理,我需要创建numpy零向量的形状,和字典中所有向量的形状相同。为了完成此任务,我运行以下代码:

import numpy as np
for vector in dictionary.values(): break;
accumulator = np.zeros_like(vector);
有没有更优雅的方法来实现相同的功能?我尝试从值创建一个列表,并获取

vector = list(dictionary.values())[0];
但这是痛苦的缓慢


For循环工作得很快,并提供了预期的结果,但我认为这是一种肮脏的攻击。

要从迭代器中获取第一个值,可以使用


要从迭代器中获取第一个值,可以使用


for循环看起来真的没用。这不也是吗

vector = dictionary.values()[0]
所以vector是列表字典中的第一项。values()方法返回

---编辑---

正如duckboycool所评论的,这在Python2中有效。但是使用Python3,您需要

vector = next(iter(dictionary.values()))
正如Iain Shelvingtons邮报中提到的


感谢您的更正。

for循环看起来真的没用。这不也是吗

vector = dictionary.values()[0]
所以vector是列表字典中的第一项。values()方法返回

---编辑---

正如duckboycool所评论的,这在Python2中有效。但是使用Python3,您需要

vector = next(iter(dictionary.values()))
正如Iain Shelvingtons邮报中提到的


感谢您的更正。

您使用的是哪种python版本?这是Python3。我用next试用了你的变体,效果很好。谢谢。你用的是哪一个python版本?这是Python3。我用next试用了你的变体,效果很好。谢谢。它不会,
dict_值
是不可索引的。这在Python2中是可行的,但在使用Python3时你是对的。它不会,
dict_值
是不可索引的。这在Python2中是可行的,但在使用Python3时你是对的。