Все записи автора Oleksiy

Кортеж в Python

Привет всем! Сегодня мы разберемся с такой штукой, как кортеж в Python. Прежде всего — хотелось бы напомнить о записи, которая доступна по ссылке — в ней я заговорил о основных типах данных в Python, так что если интересно — добро пожаловать!

А пока — основные вопросы, возникающие при ознакомлении с кортежами.

Вообще кортеж — это фактически тот же список (о который я тоже говорил чуть раньше), однако — в отличие от списков кортежи — вещь совершенно неизменяемая. Т.е. удалить или добавить какие-то элементы в кортеж мы не можем.

Формируется кортеж с помощью круглых скобок, внутри которых находятся запятые, разделяющие элементы кортежа:

А еще можно создать кортеж из списка. Делается это следующим образом:

Имеется — список users_list, состоящий из трех элементов. После этого мы просто объявляем переменную users_tuple, которая состоит из функции tuple, использующей список users_list.

В числе основных плюсов, которые указываются в описании кортежей — быстрота работы по сравнению со списками (в некоторых статьях указывается отметка в 10 раз, но — тут я не могу что-то комментировать совсем уж точно), меньше (опять же — по сравнению со списками) — размер, и конечно же — использование кортежей в качестве ключей словаря.

А теперь — обещанный пример сравнения работы кортежа и списка:

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

Теперь о возможности использования кортежей в качестве ключей словаря:

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

И теперь самое интересное — как работать с кортежами? На самом деле — все очень и очень просто: так же, как со списками 🙂 В то же время, в связи с тем, что кортеж — явление не изменяемое — операции сложения, умножения на число, и такие методы, как index() и count() — работать не будут.

Спасибо за внимание! Понравилась запись? Расшарьте ее на свою страницу 🙂