Перейти к содержанию

Типы и структуры данных

Выберите уровень развития компетенции:

Что необходимо знать

  • Типы данных : 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.