Как создать словарь в Python (литералы и конструкторы)

Узнайте, как создать словарь в Python. Понимание синтаксиса букв, конструктора dict, понимания dict и инициализаторов ключей-значений.

Попробуйте это решение в редакторе

Обзор

Словари — один из самых мощных и часто используемых встроенных типов данных в Python. Словарь — это изменяемая упорядоченная (начиная сPython 3.7) коллекция пар ключ-значение, где каждый ключ должен быть уникальным и хэшируемым (например, строки, числа или кортежи). Словари позволяют выполнять операции поиска с высокооптимизированной средней временной сложностью O(1).

Самый распространенный и прямой способ создания словаря — использование фигурных скобок `{}` с парами ключ-значение, разделенными двоеточиями. Например, `my_dict = {"name": "Alice", "age": 30}` создает заполненный словарь. Чтобы создать пустой словарь, вы можете использовать пустые фигурные скобки `{}` или конструктор `dict()`.

Python также предлагает другие продвинутые методы динамического создания словарей. Конструктор `dict()` может создавать словари из списков кортежей ключ-значение или аргументов ключевых слов. Кроме того, понимание словаря предоставляет мощный способ инициализации словаря из существующей итерации, применяя преобразования к ключам или значениям в режиме реального времени.

Код и вывод выполнения

Этот скрипт демонстрирует несколько способов инициализации и создания словарей в Python.

# 1. Dictionary literal syntax (most common)
user = {"name": "Alice", "age": 28, "verified": True}
print("Literal dict:", user)

# 2. Using the dict() constructor with keyword arguments
config = dict(host="localhost", port=8080, debug=True)
print("Constructor dict:", config)

# 3. Creating dictionary from key-value pairs (tuples)
pairs = [("id", 101), ("status", "active")]
status_dict = dict(pairs)
print("From tuples:", status_dict)

# 4. Dictionary comprehension (dynamic creation)
squares = {x: x**2 for x in range(1, 5)}
print("Comprehension:", squares)
Терминальный выход
Literal dict: {'name': 'Alice', 'age': 28, 'verified': True}
Constructor dict: {'host': 'localhost', 'port': 8080, 'debug': True}
From tuples: {'id': 101, 'status': 'active'}
Comprehension: {1: 1, 2: 4, 3: 9, 4: 16}

Пошаговая реализация

  • Используйте фигурные скобки {} с парами ключ: значение, чтобы создать словарный литерал.
  • Вызовите dict(), чтобы создать пустой словарь, или создайте его, используя аргументы ключевого слова.
  • Передайте список кортежей «ключ-значение» в dict(), чтобы преобразовать реляционные массивы в объект словаря.

Часто задаваемые вопросы

Можно ли использовать элементы списка или словаря в качестве ключей словаря?

Нет, ключи словаря должны быть хешируемыми (неизменяемыми). Поскольку списки и словари изменяемы, они не могут быть ключами. Кортежи, строки и целые числа являются допустимыми ключами.

Как создать словарь со значениями по умолчанию для набора ключей?

Вы можете использовать dict.fromkeys(keys_list, default_value) для создания словаря, в котором все ключи имеют одно и то же значение по умолчанию.

Связанные темы

Рекомендуемые ресурсы Python

Расширьте свои знания с помощью соответствующих интерактивных руководств, шпаргалок и сравнений кода.