Типы и структуры данных
Выберите уровень развития компетенции:
Что необходимо знать
- Типы данных :
int
,float
,str
,bool
. - Простые операции с основными типами данных (сложение, умножение, конкатенация строк и т.д.).
- Умение использовать встроенные структуры данных:
list
,tuple
,set
,dict
. - Умение выполнять базовые операции с коллекциями (добавление, удаление элементов, изменение значений).
- Модуль
collections
. - Умение использовать
namedtuple
для создания именованных кортежей.
Типы данных
В Python существует четыре основных типа данных: int
, float
, str
, и bool
. Эти типы данных широко используются при программировании для представления чисел, строк и логических значений. Также Python предлагает мощные встроенные структуры данных: списки (list
), кортежи (tuple
), множества (set
) и словари (dict
).
Давайте рассмотрим их более подробно и приведем примеры базовых операций с ними.
Числовые типы данных: int и float
int
— это целые числа, например, 5, -12, 0.float
— это числа с плавающей запятой, например, 5.0, -2.8, 0.25.
Операции с числами
Вы можете выполнять стандартные арифметические операции с числами:
a = 10
b = 3
# Сложение
result_add = a + b # 13
# Вычитание
result_sub = a - b # 7
# Умножение
result_mul = a * b # 30
# Деление
result_div = a / b # 3.3333
# Целочисленное деление
result_floor_div = a // b # 3
# Остаток от деления
result_mod = a % b # 1
# Возведение в степень
result_pow = a ** b # 1000
Строки: str
str
— это строковый тип данных для представления текста. Строки заключаются в одинарные или двойные кавычки.
Операции со строками
Конкатенация (объединение строк):
str1 = "Hello"
str2 = "World"
result_str = str1 + " " + str2 # 'Hello World'
Повторение строки:
repeated_str = str1 * 3 # 'HelloHelloHello'
Доступ по индексу:
first_char = str1[0] # 'H'
TODO
- Работа с неизменяемыми и изменяемыми типами данных.
- Умение эффективно использовать срезы и методы для работы с последовательностями (str, list, tuple).
- Углубленные знания о параметрах производительности разных структур данных.
- Умение применять методы сортировки и поиска.
- Использование Counter для подсчета элементов в коллекциях.
- Все типы данных из модуля collections и ситуаций для их применения (OrderedDict, ChainMap).
- Оптимизация операций с типами данных на уровне эффективности памяти и вычислений.
- Разработка и реализация кастомных структур данных, если стандартные не удовлетворяют требованиям производительности.
- Применение методов алгоритмической сложности для оптимизации работы с большими объемами данных.
- Интеграция модулей collections в сложные задачи и системы.
- Разработка и использование сложных структур данных и алгоритмов с использованием модуля collections.