Member 13554627 Ответов: 2

Отдельные значения словаря в цикле for


Как я могу разделить значения моего словаря в цикле for, например, с помощью функции .items() кто-нибудь знает, как это сделать? или есть лучший способ?

это сейчас, дайте мне:

[2, 0]
[3, 0]
4

я хотел бы напечатать 2 и 0 и т. д. отдельно друг от друга.

Что я уже пробовал:

producten = {'appel': [2, 0], "banaan": [3, 0], 'peer': 4}


for product, prijs in producten.items():
    print(prijs[1])

2 Ответов

Рейтинг:
2

Richard MacCutchan

Попробовать это:

producten = {'appel': [2, 0], "banaan": [3, 0], 'peer': 4}
for product, prijs in producten.items():
    if type(prijs) is list:
        for item in prijs:
            print(item)
    else:
        print(prijs)

Вероятно, это не тот точный ответ, который вы ищете, но он показывает вам, как разделить значения.


Рейтинг:
1

Sandeep Mewara

Вы можете сделать распаковать (обратный zip) кортежи с помощью * и zip.

Пример:

producten = {'appel': [2, 0], "banaan": [3, 0], 'peer': 4}
  
keys, values = zip(*producten.items()) 
  
print ("keys : ", str(keys)) 
print ("values : ", str(values)) 

#output
('keys : ', "('appel', 'banaan', 'peer')")
('values : ', '([2, 0], [3, 0], 4)')

Ссылаться: Использование * и zip для "распаковки"[^]