如何从 python 中的 OrderedDict 获取密钥

How to get the key from OrderedDict in python

我在 python 中有以下 OrderedDict:

OrderedDict([(0, array([308, 186])), (2, array([431, 166]))])

有什么方法可以单独获取密钥及其值,如下所示:

print(odict[0][0])
print(odict[0][1])
print(odict[1][0])
print(odict[1][1])

所以我得到低于输出

0
array([308, 186])
2
array([431, 166])

但在上面我只得到:

308
186
431
166

有什么方法可以提取密钥 (0, 1, 2, 3..)。请帮忙。谢谢

你可以通过dict.items()

得到你想要的输出
print(odict.items()[0][0])
print(odict.items()[0][1])
print(odict.items()[1][0])
print(odict.items()[1][1])

或者,您可以通过 dict.keys()

获取 dict keys()

odict.keys() 会 return 你 [0,2]

有一种提取密钥的方法:

odict.keys()

要遍历dict,可以:

for key, value in odict.items():
    print(key, value)

这些代码片段也适用于普通的字典对象。

您可以通过以下方式仅获取键或键和值,而且我认为数组实例应该以不同的方式创建,数组应该具有相同类型的元素并且应该预先声明元素的类型:

array module

from collections import OrderedDict
from array import array

# right way to create array instance is to specifu array type:
x = OrderedDict([(0, array('I', [308, 186])), (2, array('I', [431, 166]))])  

for k in x.keys():  # print all keys
    print(k)

for k, v in x.items():  # print key and value
    print("{}___{}".format(k, v))