Сравнение и слияние списков Python - PullRequest
2 голосов
/ 30 июля 2011

У меня есть 2 списка:

correct_list = [1,2,3,4,5,6,7,8,9,10]
other_list = [4,5,6,7,8,10]

Я хотел бы объединить эти два списка так:

combined_list = [{k:1, v:0},{k:2, v:0},{k:3, v:0}, {k:4, v:4}, {etc}]

, поэтому в основном я говорю, что ключ является правильным списком, и гдекогда other_list не совпадает с correct_list, заполните 0 или "".И если они совпадают, заполните соответствующее значение

Имеет ли это смысл?

Как бы я это сделал в python?

1 Ответ

4 голосов
/ 30 июля 2011
[{'k': c, 'v': c if c in other_list else 0} for c in correct_list]

Кстати, если единственными элементами словарей являются k и v, рассмотрите возможность создания словаря вместо списка словарей:

>>> dict((c, c if c in other_list else 0) for c in correct_list)
{1: 0, 2: 0, 3: 0, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 0, 10: 10}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...