Форум сайта python.su
d1 = [{'imya': 'Ben', 'height': 178}, {'imya': 'Anna', 'height': 168}, {'imya': 'Mark', 'age': 32}, {'car': 'bmw', 'color': 'black'}, {'imya': 'Jane', 'height': 167} ] d2 = {} for i in d1: name = i['imya'] height = i['height'] d2[name] = d2.get(name, 0) + height
{'Ben': 178, 'Anna': 168, 'Mark': 0, 'Jane': 167}
Офлайн
>>> d1 = [{'imya': 'Ben', 'height': 178}, ... {'imya': 'Anna', 'height': 168}, ... {'imya': 'Mark', 'age': 32}, ... {'car': 'bmw', 'color': 'black'}, ... {'imya': 'Jane', 'height': 167}] >>> >>> out = {d['imya']: d.get('height', 0) ... for d in filter(lambda i: 'imya' in i, d1)} >>> out {'Ben': 178, 'Anna': 168, 'Mark': 0, 'Jane': 167} >>>
Онлайн
py.user.next
out = {d: d.get('height', 0)
… for d in filter(lambda i: ‘imya’ in i, d1)}
Офлайн