Найти - Пользователи
Полная версия: Получить словарь из списка, который состоит из словарей
Начало » Python для новичков » Получить словарь из списка, который состоит из словарей
1
DuffyDuck
 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

d2 должен иметь такой вид:
 {'Ben': 178, 'Anna': 168, 'Mark': 0, 'Jane': 167}
Метод get() у Марка спотыкается на ключе ‘age’. Как сделать условие, чтобы Питон игнорировал все ключи, кроме ‘imya’ и ‘height’
py.user.next
  
>>> 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}
>>>
DuffyDuck
py.user.next
out = {d: d.get('height', 0)
… for d in filter(lambda i: ‘imya’ in i, d1)}

Спасибо большое!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB