В Python, когда использовать словарь, список или набор?

Когда я должен использовать словарь, список или набор?

Существуют ли сценарии, которые больше подходят для каждого типа данных?

280
задан dreftymac 1 July 2019 в 13:44
поделиться

1 ответ

Короче говоря, используйте:

list - если вам требуется упорядоченная последовательность предметов.

dict - если вам требуется связать значения с ключами

set - если вам требуется сохранить уникальные элементы.

Подробное объяснение

Список

Список - это изменяемая последовательность, обычно используемая для хранения коллекций однородных элементов.

Список реализует все общие операции последовательности:

  • x in l и x not in l
  • l[i], l[i:j], l[i:j:k]
  • len(l), min(l), max(l)
  • l.count(x)
  • l.index(x[, i[, j]]) - индекс первого вхождения x в l (во время или после i и до j индексирует)

В списке также реализованы все операции изменяемой последовательности:

  • l[i] = x - элемент i из l заменяется на x
  • l[i:j] = t - срез l из i в j заменяется содержимым повторяемого t
  • del l[i:j] - l[i:j] = []
  • l[i:j:k] = t - элементы l[i:j:k] заменяются элементами t
  • del l[i:j:k] - удаляет элементы из s[i:j:k] из списка
  • l.append(x) - добавляет x в конец последовательности
  • l.clear() - удаляет все элементы из l (так же, как del l[:])
  • l.copy() - создает мелкую копию l (аналогично l[:])
  • l.extend(t) или l += t - расширяет l на t Содержимое t
  • l *= n - обновления l с его повторением n раз
  • l.insert(i, x) - вставка x в l по указанному индексу по i
  • l.pop([i]) - получает элемент в i, а также удаляет его из l
  • l.remove(x) - удаляет первый элемент из l, где l[i] равно x
  • l.reverse() - переворачивает элементы l на месте

Список можно использовать в качестве стека, используя преимущества методов append и [тысяча сто шестьдесят один].

Словарь

Словарь отображает хешируемые значения в произвольные объекты. Словарь является изменяемым объектом. Основные операции над словарем - это сохранение значения с некоторым ключом и извлечение значения с учетом ключа.

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

Набор

Набор - это неупорядоченная коллекция различных хеш-объектов. Набор обычно используется для проверки членства, удаления дубликатов из последовательности и вычисления математических операций, таких как пересечение, объединение, разность и симметричная разность.

1
ответ дан 23 November 2019 в 01:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: