Python 如何迭代字典项?
我有一本股票数据字典,如下所示:Python 如何迭代字典项?,python,arrays,list,dictionary,type-conversion,Python,Arrays,List,Dictionary,Type Conversion,我有一本股票数据字典,如下所示: {'_id': ObjectId('5ed25b3a4893efeab4cef4b3'), 'time': 1286699400000.0, 'open': 1128.0, 'high': 1128.0, 'low': 1128.0, 'close': 1128.0, 'volume': 100} def dict_to_array(data): data = data.values() training_set1 = []
{'_id': ObjectId('5ed25b3a4893efeab4cef4b3'),
'time': 1286699400000.0,
'open': 1128.0,
'high': 1128.0,
'low': 1128.0,
'close': 1128.0,
'volume': 100}
def dict_to_array(data):
data = data.values()
training_set1 = []
training_set1.append(data["open"])
training_set1.append(data["high"])
training_set1.append(data["low"])
training_set1.append(data["close"])
training_set1.append(data["volume"])
training_set1 = np.array(training_set1).T
return training_set1
并尝试使用以下代码将其转换为数据列表/数组,但它仅适用于字典的1项。我不知道如何反复阅读字典
def dict_to_array(data):
training_set1 = []
training_set1.append(data["open"])
training_set1.append(data["high"])
training_set1.append(data["low"])
training_set1.append(data["close"])
training_set1.append(data["volume"])
training_set1 = np.array(training_set1).T
return training_set1
编辑:我希望有培训设置1
,结果如下:
[[o1, h1, l1, c1, v1],
[o2, h2, l2, c2, v2],
...
[on, hn, ln, cn, vn]]
EDIT2:我在代码中添加了data=data.values()
,如下所示:
{'_id': ObjectId('5ed25b3a4893efeab4cef4b3'),
'time': 1286699400000.0,
'open': 1128.0,
'high': 1128.0,
'low': 1128.0,
'close': 1128.0,
'volume': 100}
def dict_to_array(data):
data = data.values()
training_set1 = []
training_set1.append(data["open"])
training_set1.append(data["high"])
training_set1.append(data["low"])
training_set1.append(data["close"])
training_set1.append(data["volume"])
training_set1 = np.array(training_set1).T
return training_set1
但我得到了以下错误:
TypeError: 'dict_values' object is not subscriptable
这是迭代字典的方法,您可以对字典中的每个键使用key变量,value变量将包含该键各自的值
dictionary = {'name': "John Doe", 'age': 34, 'company': "abc ltd"}
for key, value in dictionary.items():
print(f"{key} has {value} in dictionary")
她是您如何使用
dict.items()
和list()
:
使用name.values()
或list(name.values())
仅获取值
使用
name.items()。这就是您要寻找的吗?您可以使用dict.values()
获取值,使用dict.items()
获取键值对。这是否回答了您的问题?或者:for key in dictionary:print(f“{key}有{dictionary[key]}in dictionary”)