l希望根据其索引访问我字典的特定值。 当l仅给出一个索引或连续索引列表[0:30]时,其工作方式如下:
print(labels.keys()[0])
'IceDancing'
print(labels.keys()[0:3])
['IceDancing', 'IceDancing', 'HighJump']
但是,当我尝试按以下方式访问特定索引时:
indices=[3,4,45,8,56]
labels.keys()[indices]
l出现以下错误
*** TypeError:列表索引必须是整数,而不是列表
谢谢您的帮助
答案 0 :(得分:0)
如前所述,Python 2.7中的字典没有顺序。使用dict.keys
时,您不应假设任何特定或一致的顺序。
尽管如此,operator.itemgetter
仍可以满足您的要求。这是一个简单的示例:
from operator import itemgetter
d = {i+10: i for i in range(100)}
idx = [3,4,45,8,56]
print itemgetter(*idx)(d.keys())
# (13, 14, 55, 18, 66)