Como iterar sobre os primeiros n elementos de um dicionário em python?

Oct 06 2020

Pergunta simples aqui:

Se eu tentar dividir meu dicionário (analisado de um arquivo xml) em python, vou obter um TypeError: unhashable type: 'slice'

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

parece que não funciona para dicionários, eles têm um método específico? Ou é por causa dos 2 outros argumentos que vêm logo depois que foram mal interpretados?

Respostas

2 jdehesa Oct 06 2020 at 09:42

Você pode usar 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)

Resultado:

a
b
c