Как перебрать первые n элементов словаря в Python?

Oct 06 2020

Здесь простой вопрос:

Если я попытаюсь нарезать свой словарь (проанализированный из XML-файла) в python, я получу TypeError: unhashable type: 'slice'

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

со словарями похоже не работает, у них есть какой-то метод? Или это из-за того, что два других аргумента, появившихся сразу после этого, неправильно истолкованы?

Ответы

2 jdehesa Oct 06 2020 at 09:42

Вы можете использовать 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