В Python как использовать цикл for, чтобы создать вложенный список из словаря? - PullRequest
0 голосов
/ 21 ноября 2018

Это домашнее задание:

fruits = {'banana':3,'apple':2, 'mango':1, 'kiwi':5}

Вот результат, который я должен получить:

fruits_list = [
    ['banana', 'banana', 'banana'], 
    ['apple', 'apple'], 
    ['mango'], 
    ['kiwi', 'kiwi', 'kiwi', 'kiwi', 'kiwi']]

1 Ответ

0 голосов
/ 21 ноября 2018

Вам нужно перебрать все ключи фруктов и создать список, повторяя ключ N=value раз.

Вы можете сделать это с пониманием списка .

  • Для итерации по всем элементам диктов вам понадобится fruits.items().
  • Чтобы создать список, повторяющий каждую клавишу N раз, выполните: [key]*N.
  • Поскольку значения dict указывают, сколько раз повторять, выполните: [key]*value.

Наконец:

fruits_list = [[key]*value for key, value in fruits.items()]

Затем print(fruit_list) дает вам:

Python 3.6.1 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on linux

[['banana', 'banana', 'banana'], ['apple', 'apple'], ['mango'], ['kiwi', 'kiwi', 'kiwi', 'kiwi', 'kiwi']]
...