Самый простой способ:
list_of_tuples = [('a', 1), ('b', 2), ('c', 3)]
my_dict = dict(list_of_tuples)
print(my_dict) # {'a': 1, 'b': 2, 'c': 3}
Можно использовать генератор словаря (dictionary comprehension), хотя это избыточно для этой задачи:
list_of_tuples = [('a', 1), ('b', 2), ('c', 3)]
my_dict = {key: value for key, value in list_of_tuples}
print(my_dict) # {'a': 1, 'b': 2, 'c': 3}
Есть несколько способов создать словарь из списка кортежей в Python. Самый прямой и распространенный способ - использовать конструктор dict()
.
1. Использование dict()
напрямую:
кортежи = [('ключ1', 'значение1'), ('ключ2', 'значение2'), ('ключ3', 'значение3')]
словарь = dict(кортежи)
print(словарь) # Вывод: {'ключ1': 'значение1', 'ключ2': 'значение2', 'ключ3': 'значение3'}
Конструктор dict()
принимает итерируемый объект, содержащий пары ключ-значение (в данном случае, список кортежей), и преобразует его в словарь.
2. Использование генератора словаря (Dictionary Comprehension):
кортежи = [('ключ1', 'значение1'), ('ключ2', 'значение2'), ('ключ3', 'значение3')]
словарь = {ключ: значение for ключ, значение in кортежи}
print(словарь) # Вывод: {'ключ1': 'значение1', 'ключ2': 'значение2', 'ключ3': 'значение3'}
Генераторы словарей предоставляют более гибкий способ создания словарей, позволяя применять логику для преобразования ключей и значений.
3. Использование цикла for
(менее предпочтительно, но для понимания):
кортежи = [('ключ1', 'значение1'), ('ключ2', 'значение2'), ('ключ3', 'значение3')]
словарь = {}
for ключ, значение in кортежи:
словарь[ключ] = значение
print(словарь) # Вывод: {'ключ1': 'значение1', 'ключ2': 'значение2', 'ключ3': 'значение3'}
Этот метод более многословный, но демонстрирует основную логику создания словаря путем итерации по списку кортежей и присваивания значений ключам в пустом словаре.
Какой способ выбрать?
dict()
является наиболее лаконичным и эффективным.for
имеет смысл только в учебных целях, на практике это менее эффективно и читаемо.