Учитывая список словарей (каждый из которых имеют одинаковые ключи), я хочу, общее число различных значений, с которыми данный ключ, связанныйЧисло различных значений assoicated с ключом в списке dicts
$ li = [{1:2,2:3},{1:2,2:4}] $
в ожидаемый выход: {1: 1,2: 2}
Я придумал следующий фрагмент кода ... Есть ли лучший способ сделать это?
counts = {}
values = {}
for i in li:
for key,item in i.items():
try:
if item in values[key]:
continue
except KeyError:
else:
try:
counts[key] += 1
except KeyError:
counts[key] = 1
try:
values[key].append(item)
except KeyError:
values[key] = [item]
Ваш код недействителен. try..except и if..else смешаны. – yurib
Не забудьте принять ответ, если вы хорошо поработали для вас. –