Ответ
В Python есть несколько ключевых встроенных структур данных (типов коллекций):
-
Список (
list)- Описание: Изменяемая (mutable), упорядоченная последовательность элементов.
- Пример:
numbers = [1, 2, 3, "a"] numbers.append(4) print(numbers[0]) # 1
-
Кортеж (
tuple)- Описание: Неизменяемая (immutable), упорядоченная последовательность. Часто используется для хранения связанных данных, которые не должны меняться.
- Пример:
point = (10, 20) x, y = point # Распаковка кортежа
-
Словарь (
dict)- Описание: Изменяемая коллекция пар "ключ-значение". Ключи должны быть уникальными и хешируемыми. Начиная с Python 3.7, словари сохраняют порядок вставки элементов.
- Пример:
user = {"name": "Alice", "age": 30} print(user["name"]) # Alice
-
Множество (
set)- Описание: Изменяемая, неупорядоченная коллекция уникальных хешируемых элементов. Эффективна для проверки на вхождение и удаления дубликатов.
- Пример:
unique_items = {1, 2, 2, 3, 4, 3} print(unique_items) # {1, 2, 3, 4}
-
Неизменяемое множество (
frozenset)- Описание: Неизменяемая версия
set. Элементыfrozensetможно использовать в качестве ключей словаря или элементов другого множества. - Пример:
fs = frozenset([1, 2, 3]) my_dict = {fs: "value"}
- Описание: Неизменяемая версия
Также к базовым типам данных, представляющим последовательности, относятся str (неизменяемая последовательность символов) и bytes (неизменяемая последовательность байт).
Ответ 18+ 🔞
А, ну это же классика, блядь! Сейчас я тебе про эти питоновские коллекции так расскажу, что ты офигеешь, но зато запомнишь навсегда, ёпта.
Смотри, в Пайтоне есть несколько главных бандитских группировок данных, и каждая со своим характером, блядь.
-
Список (
list) — это как наш беспорядочный, но родной балаган.- Суть: Полная изменяемость, мутабельный, сука! Порядок есть, а стабильности — ноль. Хочешь — добавил, хочешь — выкинул, хочешь — переставил. Полный бардак, но управляемый.
- Пример:
numbers = [1, 2, 3, "a"] # Смотри, и числа, и буква — всем место нашлось, похуй! numbers.append(4) # Ёбнул в конец четвёрку — пожалуйста! print(numbers[0]) # Спрашиваешь первого — вот тебе единичка. # 1
-
Кортеж (
tuple) — а это уже наш суровый, непоколебимый отец.- Суть: Неизменяемый, иммовтабельный, блядь! Раз создал — и сиди, не дергайся. Порядок чёткий, железный. Идеален для координат, настроек, всякого такого, что менять нельзя, а то всё ебнется.
- Пример:
point = (10, 20) # X и Y. Всё, приехали. Никаких "а давай X сделаем 11". x, y = point # Раз-два и распаковал по переменным. Красота, блядь!
-
Словарь (
dict) — это хитрая жопа, архив с ярлыками.- Суть: Пары "ключ-значение". Ключ — это уникальная метка, как татуха, а значение — это уже что угодно. С Питона 3.7 они ещё и порядок вставки помнят, не то что раньше, пиздец.
- Пример:
user = {"name": "Alice", "age": 30} # Ключ "name", значение "Alice". Всё просто, как три копейки. print(user["name"]) # Спросил по ключу — получил значение. # Alice
-
Множество (
set) — это отряд по борьбе с дубликатами, этакие чистюли.- Суть: Неупорядоченная свалка, но только УНИКАЛЬНЫХ элементов. Два одинаковых — нахуй не нужны, один сразу выкидывает. Супер штука, чтобы проверить, был ли элемент где-то, или чтобы мусор убрать.
- Пример:
unique_items = {1, 2, 2, 3, 4, 3} # Засыпал кучу с повторами. print(unique_items) # А он тебе выдает чистенький набор. Красота! # {1, 2, 3, 4}
-
Неизменяемое множество (
frozenset) — это тот же чистюля, но замороженный, как труп в леднике.- Суть:
set, но его нельзя изменить после создания. Из-за этой стабильности его, блядь, даже в ключи словаря можно пихать! Настоящий гражданин. - Пример:
fs = frozenset([1, 2, 3]) # Заморозил и всё. my_dict = {fs: "value"} # И вот он уже ключ в словаре! Ничего себе, да?
- Суть:
А ещё, не забывай, есть строка (str) — это неизменяемая цепочка букв, и байты (bytes) — такая же цепочка, но для нулей и единичек, чтоб комп понимал. Они тоже в этой компании, но как бы особнячком, блядь.
Вот и вся основная братва. Главное — понимать, кто для какого дела годится, а то будешь как Герасим с Муму: хотел как лучше, а получил... ну, ты понял.