Есть ли способ изменить любое количество списка в словаре? - PullRequest
0 голосов
/ 18 апреля 2019

Я пытаюсь создать словарь, в котором есть списки. Я создал переменную, которая сообщает python, сколько списков нужно создать в словаре. Вот код:

dict = {}
for i in range(number_of_lists):
    dict[str(i)] = []

Этот код должен создать словарь, подобный этому:

* number_of_lists = 3

{'0': [], '1': [], '2': []}

Затем мне нужно отредактировать списки в:

{'0': [1, 2], '1': [2, 1], '2': [3, 2]}

Как я могу это сделать?

Также обратите внимание, что числа в списках просто случайные ...

Ответы [ 3 ]

1 голос
/ 18 апреля 2019

Что вы имеете в виду под случайным? Просто любое число или в пределах определенного диапазона?

from random import randint

dict = {}
number_of_lists = 4
for i in range(number_of_lists):
    dict[str(i)] = [randint(0, x+1) for x in range(0,i+1)]
1 голос
/ 18 апреля 2019

Вы можете просто перебрать список ключей и значений, чтобы сделать ваш общий словарь таким.

def get_dict(keys, values):

    dct = {}
    for idx, key in enumerate(keys):
        dct[key] = values[idx]
    return dct

print(get_dict(['0', '1', '2'], [[1, 2], [2, 1],  [3, 2]]))
#{'0': [1, 2], '1': [2, 1], '2': [3, 2]}
print(get_dict(['K', 'E', 'Y'], [[1, 2], [2, 1],  [3, 2]]))
#{'K': [1, 2], 'E': [2, 1], 'Y': [3, 2]}
1 голос
/ 18 апреля 2019

Пожалуйста, попробуйте, остальные команды списка используются таким же образом

dict = {}
for i in range(number_of_lists):
    dict[str(i)] = []

a = 1
dict['name_of_list'].append(a)

print(dict)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...