Python объединяет список из 1 словаря и словаря многих значений со значениями списка - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть словарь с одним ключом и многими значениями для каждого ключа

d={'POU': ['KO', '0.9.8', '0.99', '0.54']
   'TAN': ['LA', '9', '7.5', '0.0']
   'EST': ['RA', '2', '6.5', '10.01']}

и списком чисел:

x = [**1**, **2**, **3**]

Как объединить список со словарем вдобавьте значение каждого списка в конце каждой строки:

d={'POU': ['KO', '0.9.8', '0.99', '0.54', **1**]
   'TAN': ['LA', '9', '7.5', '0.0', **2**]
   'EST': ['RA', '2', '6.5', '10.01', **3**]}

В том же порядке.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Как правильно упомянуто jpp в его комментариях здесь, следующее решение работает только для OrderedDicts или от Python 3.7 и выше, так как в противном случае нормальные dicts не сохраняют порядок:

for i, v in enumerate(d):
    d[v].append(x[i])

d
Out[1]: 
{'EST': ['RA', '2', '6.5', '10.01', '**3**'],
 'POU': ['KO', '0.9.8', '0.99', '0.54', '**1**'],
 'TAN': ['LA', '9', '7.5', '0.0', '**2**']}
0 голосов
/ 25 апреля 2018

Использование простой итерации.

Пример:

d={'POU': ['KO', '0.9.8', '0.99', '0.54'],
   'TAN': ['LA', '9', '7.5', '0.0'],
   'EST': ['RA', '2', '6.5', '10.01']}

x = [1,2, 3]

c = 0
for k,v in d.items():
    v.append(x[c])
    c+=1
print(d)

Вывод:

{'TAN': ['LA', '9', '7.5', '0.0', 1], 'POU': ['KO', '0.9.8', '0.99', '0.54', 2], 'EST': ['RA', '2', '6.5', '10.01', 3]}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...