Теория "Структура данных"

Структуры данных — это важный элемент программирования, требуемый для написания более сложных программ. В этом материале будут примеры, которые наглядно продемонстрируют особенности структур данных, объяснят примеры присваивания и инициализации.

Инициализировать список, кортеж и словарь можно несколькими способами. Один из наиболее распространенных — присвоить соответствующие символы переменной. Для списка эти символы — [], для кортежа — (), а для словаря — {}. Если присвоить эти символы без значений внутри, то будут созданы соответствующие пустые структуры данных.

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

Где используется

Структуры данных используются во всех аспектах программирования.

  • Списки: содержат значения. Ими могут быть числа, строки, имена и так далее:
    • Модели автомобилей;
    • Имена собак;
    • Посещенные страны;
    • Посетители магазина и так далее;
  • Кортежи: этот тип данных очень похож на список, но с одним исключением. После создания кортежа его значения нельзя менять. Списки — изменяемые, а кортежи — нет. Это может понадобиться в определенных случаях для достижения безопасности или просто удобства. В кортежах могут, например, храниться:
    • Все месяцы года;
    • Дисциплины Олимпийских игр;
    • Штаты США;
      Важно только отметить, что кортежи не являются вообще неизменяемыми, ведь вы всегда можете переписать код, поменяв или удалив определенные значения. Речь идет о том, что значения не могут быть изменены после создания — во время работы программы.
  • Словари — это пары из ключа и значения. Словари также являются изменяемыми. Это удобная структура данных, которая подходит для сохранения значения с определенными дополнительными параметрами, например:
    • Данные клиента включая список его покупок
    • Названия стран + их количество олимпийских медалей
    • Автомобильные бренды и их модели
    • Страны с количеством ДТП с летальным исходом
  • Функции list() и dict() очень простые. Они помогают создавать соответствующие структуры данных.

Рекомендации по работе со структурами данных

1.     List(), dict() и float() используют круглые скобки, потому что они являются функциями;

2.     Скобки сами по себе представляют кортеж, и их не стоит путать со скобками в функциях, например, list();

3.     При создании пустого списка нужно использовать квадратные, а не круглые скобки: [].

Функция №1: list()

У функции list() очень простой сценарий применения.

C помощью скобок создается список. После этого выводится переменная с присвоенным ей пустым списком. Выводится «[]», что указывает пусть и на пустой, но список. После этого выводится подтверждение того, что это действительно список.

>>> my_first_list = []

>>> print(my_first_list )

>>> print(type(my_first_list ))

[]

<class 'list'>

В следующем примере можно добиться того же результата, что и в первом, но уже с помощью функции list().

>>> my_first_list = list()

>>> print(my_first_list)

>>> print(type(my_first_list))

[]

<class 'list'>

Функция №2: dict()

Рассмотрим функцию dict(), с помощью которой можно создать словарь Python.

>>> my_first_dictionary = {}

>>> print(my_first_dictionary)

>>> print(type(my_first_dictionary))

{}

<class 'dict'>

И вот еще один пример создания пустого словаря. Тот же результат, но с помощью функции dict().

>>> my_first_dictionary = dict()

>>> print(my_first_dictionary)

>>> print(type(my_first_dictionary))

{}

<class 'dict'>

Функция №3: tuple()

Функция tuple() для создания кортежа Python. Пример с присваиванием переменной пустого кортежа.

>>> my_first_tuple = ()

>>> print(my_first_tuple)

>>> print(type(my_first_tuple))

()

<class 'tuple'>

И снова тот же результат, но уже с помощью функции tuple().

>>> my_first_tuple = tuple()

>>> print(my_first_tuple)

>>> print(type(my_first_tuple))

()

<class 'tuple'>

Советы:

1.     Кортеж — отличная альтернатива списку для тех ситуаций, когда в дальнейшем не требуется менять значения внутри этой структуры данных.

2.     Словари — идеальная структура для хранения пар ключ-значение.

Создадим список со значениями внутри.

>>> mylist = ["лыжные ботинки", "лыжи", "перчатки"]

>>> print(mylist)

>>> print(type(mylist))

["лыжные ботинки", "лыжи", "перчатки"]

<class 'list'>

В этом примере список состоит из 3 строковых значений. Но все три типа — списки, словари и кортежи — могут включать разные типы данных.

Теперь создадим словарь с этими значениями.

>>> mydict = {"лыжные ботинки": 3, "лыжи": 2, "перчатки": 5}

>>> print(mydict)

>>> print(type(mydict))

{"лыжные ботинки": 3, "лыжи": 2, "перчатки": 5}

<class 'dict'>

В этом примере создается словарь. Он присвоен переменной mydict, которая состоит из 3 ключей: “лыжные ботинки”, “лыжи” и “перчатки”. Каждому ключу присвоено свое значение: 3, 2 и 5 соответственно.

Теперь создадим список со значениями разных типов.

>>> mylist = ["карабины", False, "порошок", 666, 25.25]

>>> print(mylist)

>>> print(type(mylist))

["карабины", False, "порошок", 666, 25.25]

<class 'list'>

В этом примере список включает 5 значений четырех разных типов: строка, булев тип, строка, целое число и число с плавающей точкой.

Наконец, создадим пример кортежа.

>>> mytuple = ("карабины", False, "порошок", 666, 25.25)

>>> print(mytuple)

>>> print(type(mytuple))

("карабины", False, "порошок", 666, 25.25)

<class 'tuple'>

Единственное отличие здесь в том, что используются круглые (), а не квадратные [] скобки.

Last modified: Wednesday, 31 March 2021, 9:46 AM