Перечислите основные встроенные структуры данных в Python

Ответ

В Python есть несколько ключевых встроенных структур данных (типов коллекций):

  1. Список (list)

    • Описание: Изменяемая (mutable), упорядоченная последовательность элементов.
    • Пример:
      numbers = [1, 2, 3, "a"]
      numbers.append(4)
      print(numbers[0]) # 1
  2. Кортеж (tuple)

    • Описание: Неизменяемая (immutable), упорядоченная последовательность. Часто используется для хранения связанных данных, которые не должны меняться.
    • Пример:
      point = (10, 20)
      x, y = point # Распаковка кортежа
  3. Словарь (dict)

    • Описание: Изменяемая коллекция пар "ключ-значение". Ключи должны быть уникальными и хешируемыми. Начиная с Python 3.7, словари сохраняют порядок вставки элементов.
    • Пример:
      user = {"name": "Alice", "age": 30}
      print(user["name"]) # Alice
  4. Множество (set)

    • Описание: Изменяемая, неупорядоченная коллекция уникальных хешируемых элементов. Эффективна для проверки на вхождение и удаления дубликатов.
    • Пример:
      unique_items = {1, 2, 2, 3, 4, 3}
      print(unique_items) # {1, 2, 3, 4}
  5. Неизменяемое множество (frozenset)

    • Описание: Неизменяемая версия set. Элементы frozenset можно использовать в качестве ключей словаря или элементов другого множества.
    • Пример:
      fs = frozenset([1, 2, 3])
      my_dict = {fs: "value"}

Также к базовым типам данных, представляющим последовательности, относятся str (неизменяемая последовательность символов) и bytes (неизменяемая последовательность байт).

Ответ 18+ 🔞

А, ну это же классика, блядь! Сейчас я тебе про эти питоновские коллекции так расскажу, что ты офигеешь, но зато запомнишь навсегда, ёпта.

Смотри, в Пайтоне есть несколько главных бандитских группировок данных, и каждая со своим характером, блядь.

  1. Список (list) — это как наш беспорядочный, но родной балаган.

    • Суть: Полная изменяемость, мутабельный, сука! Порядок есть, а стабильности — ноль. Хочешь — добавил, хочешь — выкинул, хочешь — переставил. Полный бардак, но управляемый.
    • Пример:
      numbers = [1, 2, 3, "a"] # Смотри, и числа, и буква — всем место нашлось, похуй!
      numbers.append(4) # Ёбнул в конец четвёрку — пожалуйста!
      print(numbers[0]) # Спрашиваешь первого — вот тебе единичка. # 1
  2. Кортеж (tuple) — а это уже наш суровый, непоколебимый отец.

    • Суть: Неизменяемый, иммовтабельный, блядь! Раз создал — и сиди, не дергайся. Порядок чёткий, железный. Идеален для координат, настроек, всякого такого, что менять нельзя, а то всё ебнется.
    • Пример:
      point = (10, 20) # X и Y. Всё, приехали. Никаких "а давай X сделаем 11".
      x, y = point # Раз-два и распаковал по переменным. Красота, блядь!
  3. Словарь (dict) — это хитрая жопа, архив с ярлыками.

    • Суть: Пары "ключ-значение". Ключ — это уникальная метка, как татуха, а значение — это уже что угодно. С Питона 3.7 они ещё и порядок вставки помнят, не то что раньше, пиздец.
    • Пример:
      user = {"name": "Alice", "age": 30} # Ключ "name", значение "Alice". Всё просто, как три копейки.
      print(user["name"]) # Спросил по ключу — получил значение. # Alice
  4. Множество (set) — это отряд по борьбе с дубликатами, этакие чистюли.

    • Суть: Неупорядоченная свалка, но только УНИКАЛЬНЫХ элементов. Два одинаковых — нахуй не нужны, один сразу выкидывает. Супер штука, чтобы проверить, был ли элемент где-то, или чтобы мусор убрать.
    • Пример:
      unique_items = {1, 2, 2, 3, 4, 3} # Засыпал кучу с повторами.
      print(unique_items) # А он тебе выдает чистенький набор. Красота! # {1, 2, 3, 4}
  5. Неизменяемое множество (frozenset) — это тот же чистюля, но замороженный, как труп в леднике.

    • Суть: set, но его нельзя изменить после создания. Из-за этой стабильности его, блядь, даже в ключи словаря можно пихать! Настоящий гражданин.
    • Пример:
      fs = frozenset([1, 2, 3]) # Заморозил и всё.
      my_dict = {fs: "value"} # И вот он уже ключ в словаре! Ничего себе, да?

А ещё, не забывай, есть строка (str) — это неизменяемая цепочка букв, и байты (bytes) — такая же цепочка, но для нулей и единичек, чтоб комп понимал. Они тоже в этой компании, но как бы особнячком, блядь.

Вот и вся основная братва. Главное — понимать, кто для какого дела годится, а то будешь как Герасим с Муму: хотел как лучше, а получил... ну, ты понял.