Найти - Пользователи
Полная версия: Словари Python
Начало » Python для новичков » Словари Python
1
Misage
В список data вложено n словарей с двумя парами ключ-значение. Пример, где количество словарей n = 3:
 [{key:value, key2:value2}, {key:value3, key2:value4}, {key:value5, key2:value6}]
Из этих этих словарей при помощи циклов нужно получить словарь result следующего вида (исходя из предыдущего примера):
 {value:value2, value3:value4, value5:value6)
Буду рад любой помощи касательно реализации моего вопроса.
Romissevd
 lst = [{'key':'value', 'key2':'value2'}, {'key':'value3', 'key2':'value4'}, {'key':'value5', 'key2':'value6'}]
dct = {}
[dct.update({x['key']: x['key2']})for x in lst]
print(dct)
py.user.next
  
>>> lst = [{'key1': 'value1', 'key2': 'value2'},
...        {'key1': 'value3', 'key2': 'value4'},
...        {'key1': 'value5', 'key2': 'value6'}]
>>> 
>>> out = {d['key1']:d['key2'] for d in lst}
>>> out
{'value1': 'value2', 'value3': 'value4', 'value5': 'value6'}
>>>
Rodegast
 >>> from functools import reduce
>>> lst = [{'key':'value', 'key2':'value2'}, {'key':'value3', 'key2':'value4'}, {'key':'value5', 'key2':'value6'}]
>>> lst = reduce(lambda x,y: x+y, [ list(x.values()) for x in lst  ])
>>> dict(zip(lst[0::2], lst[1::2]))
{'value': 'value2', 'value3': 'value4', 'value5': 'value6'}
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