У меня есть два списка кортежей.
lst1 = [('Debt collection', 5572),
('Mortgage', 4483),
('Credit reporting', 3230),
('Checking or savings account', 2068),
('Student loan', 431)]
lst2 = [('Consumer Loan', 480),
('Student loan', 1632),
('Medical loan', 1632),
('Vehicle loan or lease', 377),
('Money transfer, virtual currency, or money service', 248),
('Payday loan, title loan, or personal loan', 245),
('Prepaid card', 83)]
Чего я хочу добиться, так это. Если первая часть кортежа (сбор долгов, ипотека и т. Д.) Существует в lst2, но не в lst1, я хочу добавить новый кортеж к lst1 в формате
(non-existent tuple, 0)
Так что в идеале я хочу, чтобы lst1 выглядел так:
lst1 = [('Debt collection', 5572),
('Mortgage', 4483),
('Credit reporting', 3230),
('Checking or savings account', 2068),
('Student loan', 431),
('Consumer Loan', 0),
('Medical Loan', 0),
('Vehicle loan or lease', 0),
('Money transfer, virtual currency, or money service', 0),
('Payday loan, title loan, or personal loan', 0),
('Prepaid card', 0)]
Я думал, что самым простым способом добиться этого было бы понимание списка, где я добавляю результат к lst1.
Понимание списка:
lst1.append((tpl[0],0) for tpl in \
lst1 for tpl1 in lst2 if tpl1[0] not in tpl)
Однако, когда я смотрю на результаты, я получаю следующее:
[('Debt collection', 5572),
('Mortgage', 4483),
('Credit reporting', 3230),
('Checking or savings account', 2068),
('Student loan', 431),
<generator object <genexpr> at 0x12bc68780>]
Как бы мне было превратить объект генератора в нечто, что я действительно могу видеть при печати lst1? Возможно ли здесь то, чего я хочу достичь?