【问题标题】:How to iterate over the first n elements of a dictionary in python?如何在python中迭代字典的前n个元素?
【发布时间】:2021-01-21 04:17:47
【问题描述】:

这里有一个简单的问题:

如果我尝试在 python 中对我的字典(从 xml 文件解析)进行切片,我会得到一个 TypeError: unhashable type: 'slice'

for section in my_dict[:3] ['CATEGORY']['SUBCATEGORY']:

它似乎不适用于字典,它们有特定的方法吗?还是因为紧随其后的另外两个论点被误解了?

【问题讨论】:

标签: python dictionary for-loop slice


【解决方案1】:

你可以使用itertools.islice:

from itertools import islice

d = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
for item in islice(d, 3):  # use islice(d.items(), 3) to iterate over key/value pairs
    print(item)

输出:

a
b
c

【讨论】:

  • for item in islice(my_dict.['CATEGORY']['SUBCATEGORY']), 3): 给了我一个合成错误
  • my_dict.['CATEGORY']['SUBCATEGORY'] 的语法无效,您不能将. 放在[...] 之前。如果您想遍历my_dict['CATEGORY']['SUBCATEGORY'] 中的子字典中的元素,则执行islice(my_dict['CATEGORY']['SUBCATEGORY'], 3)(没有.),如果您想访问['CATEGORY']['SUBCATEGORY'] 的值,前三个项目中的每一个都使用@ 987654333@
猜你喜欢
  • 2014-01-13
  • 1970-01-01
  • 2018-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多