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