Как использовать два вложенных списка, чтобы составить список словарей? - PullRequest
0 голосов
/ 28 апреля 2018

У меня есть два вложенных списка, как этот:

list_1 = [[100, 90, 90, 85, 70], [100, 90, 90, 85, 80], [105, 100, 90, 90, 85]]
list_2 = [[1, 2, 2, 3, 4], [1, 2, 2, 3, 4], [1, 2, 3, 3, 4]]

Я хочу использовать элементы в list_1 с list_2 для создания словаря, но он должен быть в форме вложенного списка, вывод должен быть таким:

[{100:1,90:2,90:2,85:3,70:4},{100:1,90:2,90:2,85:3,80:4},{105:1,100:2,90:3,90:3,85:4}]

Есть ли в Python 3 способ сделать это?

Ответы [ 2 ]

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

Другой подход:

list(map(dict, map(zip, list_1, list_2)))

Что мне очень нравится.

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

Я думаю, вы хотите, чтобы почтовые индексы:

>>> [dict(zip(*z)) for z in zip(list_1, list_2)]
[{70: 4, 85: 3, 90: 2, 100: 1},
 {80: 4, 85: 3, 90: 2, 100: 1},
 {85: 4, 90: 3, 100: 2, 105: 1}]

Или, может быть, вы хотели строки, сохраняя дубликаты "ключей":

>>> [[f'{a}:{b}' for a,b in zip(*z)] for z in zip(list_1, list_2)]
[['100:1', '90:2', '90:2', '85:3', '70:4'],
 ['100:1', '90:2', '90:2', '85:3', '80:4'],
 ['105:1', '100:2', '90:3', '90:3', '85:4']]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...