Список кортежей в словарь Вот как я сейчас конвертирую список кортежей в словарь в Python: l = [('a',1),('b',2)] h = {} [h.update({k:v}) for k,v in l] > [None, None] h > {'a': 1, 'b': 2} Есть ли лучший способ? Кажется, для этого должен быть один лайнер. Ответ 1 (Примечание: "хэш" называется "словарем" в Python.) >>> my_list = [('a', 1), ('b', 2)] >>> dict(my_list) {'a': 1, 'b': 2} Ответ 2 Конструктор dict принимает вход точно так же, как у вас есть (ключи/значения). >>> l = [('a',1),('b',2)] >>> d = dict(l) >>> d {'a': 1, 'b': 2} В документации : Например, все они возвращают словарь равен { "one": 1, "two": 2}: dict(one=1, two=2) dict({'one': 1, 'two': 2}) dict(zip(('one', 'two'), (1, 2))) dict([['two', 2], ['one', 1]]) Ответ 3 С dict пониманием: h = {k:v for k,v in l}
Ответ 1 (Примечание: "хэш" называется "словарем" в Python.) >>> my_list = [('a', 1), ('b', 2)] >>> dict(my_list) {'a': 1, 'b': 2}
Ответ 2 Конструктор dict принимает вход точно так же, как у вас есть (ключи/значения). >>> l = [('a',1),('b',2)] >>> d = dict(l) >>> d {'a': 1, 'b': 2} В документации : Например, все они возвращают словарь равен { "one": 1, "two": 2}: dict(one=1, two=2) dict({'one': 1, 'two': 2}) dict(zip(('one', 'two'), (1, 2))) dict([['two', 2], ['one', 1]])