Python 3. Последовательности и множества

В Python 3 есть некоторые типы данных, которые позволяют хранить в себе сразу несколько объектов это последовательности и множества.















Введение




В этой статье поговорим о следующих типах данных:




  • Строки — это неизменяемые последовательности символов (текстовые последовательности). Изменить строку не получится, можно лишь создать новую строку. Символы в строке проиндексированы слева на право, а индексация начинается с нуля. Обычно строки применяются для хранения текстовой информации.



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



  • Кортежи — это неизменяемые списки. То есть это что-то среднее между строкой и списком. Вместо символов кортеж хранит объекты, как список. Но изменить кортеж нельзя, как строку. Изменяя кортеж вы получити новый кортеж.



  • Словари — это не упорядоченные объекты, которые хранятся в виде «ключ — значение». В принципе, если делать ключи от 0 и прибавлять 1 к каждому новому ключу, то получится обычный список, просто индексация будет выполнена вручную. Здесь также поддерживается вложенность, как в списках и кортежах.



  • Множества — неупорядоченная и изменяемая коллекция объектов без дубликатов. То есть мы можем хранить в множестве разные объекты, но они будут не упорядочены (не проиндексированы). Но два одинаковых объекта в множестве не хранятся. Даже в больших множествах операция поиска выполняется очень быстро.




Создание перечисленных объектов




Строки:




my_str1 = str('Строка 1')
my_str2 = 'Строка 2'




Списки:




my_list1 = list([1, 3, 'три'])
my_list2 = [1, 2, 'три']




Кортежи:




my_tuple1 = tuple([1, 2, 'три'])
my_tuple2 = (1, 2, 'три')




Словари:




my_dict1 = dict({1 : 'Иван', 2 : 'Иванов'})
my_dict2 = {1 : 'Иван', 2 : 'Иванов'}




Множества:




my_set1 = set({1, 2, 'три'})
my_set2 = {1, 2, 'три'}




Обратите внимание что множества и словари создаются с помощью фигурных скобок, просто в множествах отсутствует ключ.




Множества и словари не упорядочены. То есть мы не можем по индексу вытащить какой-то элемент из множества {1, 2, ‘три’}, зато из списка [1, 2, ‘три’] или кортежа (1, 2, ‘три’) можем.




Список и кортеж, используя класс, создаются одинаково (меняется только класс) — my_list1 = list([1, 3, ‘три’]) и my_tuple1 = tuple([1, 2, ‘три’]). Они очень похожи, но мы не можем в кортеже поменять какой-то элемент, или добавить новый элемент, можем лишь сделать новый кортеж. А списки менять можем.









Итог




Мы разобрали как создаются в Python 3 последовательности и множества.




ИзменяемыйНеизменяемый
Упорядоченная
последовательность
СписокСтрока
Кортеж
Неупорядоченный
набор данных
Словарь
Множество
Последовательности и множества в Python 3




Подробнее про эти типы данных вы можете почитать в отдельных статьях:







Про последовательности также можете почитать в официальной документации по Python 3 — ссылка.



2023-02-14T16:32:23
Python