gpt4 book ai didi

python - 在 python 中排序字典索引

转载 作者:太空狗 更新时间:2023-10-29 19:34:37 28 4
gpt4 key购买 nike

我创建了一个订单字典,但无法从中获取索引。我浏览了以下网址,但无法正常工作。

Accessing dictionary value by index in python

这是我的代码和输出。

line_1 = OrderedDict((('A1', "Miyapur"), ('A2', "JNTU College"), ('A3', "KPHB Colony"),
('A4', "Kukatpally"), ('A5', "Balanagar"), ('A6', "Moosapet"),
('A7', "Bharat Nagar"), ('A8', "Erragadda"), ('A9', "ESI Hospital"),
('A10', "S R Nagar"), ('X1', "Ameerpet"), ('A12', "Punjagutta"),
('A13', "Irrum Manzil"), ('A14', "Khairatabad"), ('A15', "Lakdikapul"),
('A16', "('Assembly"), ('A17', "Nampally"), ('A18', "Gandhi Bhavan"),
('A19', "Osmania Medical College"), ('X2', "MG Bus station"), ('A21', "Malakpet"),
('A22', "New Market"), ('A23', "Musarambagh"), ('A24', "Dilsukhnagar"),
('A25', "Chaitanyapuri"), ('A26', "Victoria Memorial"), ('A27', "L B Nagar")))

print(line_1.values()[1])
print(line_1[1])
print(line_1.keys()[1])

以上所有选项均未按照引用链接中所述工作。非常感谢任何指导。这是给定顺序中每个打印语句的输出。

TypeError: 'odict_values' object does not support indexing

KeyError: 1

TypeError: 'odict_keys' object does not support indexing

最佳答案

在 Python 3 中,字典(包括 OrderedDict)从它们的 keys()values() 方法返回“ View ”对象。这些是可迭代的,但不支持索引。您链接的答案似乎是为 Python 2 编写的,其中 keys()values() 返回列表。

有几种方法可以使代码在 Python 3 中工作。一个简单(但可能很慢)的选择是将 View 对象传递给 list() 然后对其进行索引:

print(list(line_1.values())[1])

另一种选择是使用 itertools.islice 将 View 对象迭代到所需的索引:

import itertools

print(next(itertools.islice(line_1.values(), 1, 2)))

但是所有这些解决方案都非常丑陋。在这种情况下,字典可能不是您使用的最佳数据结构。如果您的数据在一个简单的列表中,则按索引查找任何项目都是微不足道的(但按键查找会更难)。

关于python - 在 python 中排序字典索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39284842/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com