Знакомство с кортежами

Типы данных в Python

Jason Myers

Instructor

Кортеж, кортеж

  • Хранят данные в порядке
  • Индексирование
  • Неизменяемые
  • Объединение в пары
  • Распаковка
Типы данных в Python

Объединение в кортежи через zip

  • Кортежи часто создают объединением списков с помощью zip()
  • Два списка: us_cookies, in_cookies
top_pairs = list(zip(us_cookies, in_cookies))

print(top_pairs)
[('Chocolate Chip', 'Punjabi'), ('Brownies', 'Fruit Cake Rusk'), 
('Peanut Butter', 'Marble Cookies'), ('Oreos', 'Kaju Pista Cookies'),
('Oatmeal Raisin', 'Almond Cookies')]
Типы данных в Python

Распаковка кортежей

  • Распаковка кортежей — выразительный способ работы с данными
us_num_1, in_num_1 = top_pairs[0]

print(us_num_1)
Chocolate Chip
print(in_num_1)
Punjabi
Типы данных в Python

Распаковка в циклах

  • Распаковка особенно удобна в циклах
for us_cookie, in_cookie in top_pairs:
    print(in_cookie)
    print(us_cookie)
Punjabi
Chocolate Chip
Fruit Cake Rusk
Brownies
# ..etc..
Типы данных в Python

Нумерация позиций

  • Ещё один способ создать кортежи — функция enumerate()
  • В циклах она возвращает позицию элемента и сам элемент
for idx, item in enumerate(top_pairs):
    us_cookie, in_cookie = item
    print(idx, us_cookie, in_cookie)
(0, 'Chocolate Chip', 'Punjabi')
(1, 'Brownies', 'Fruit Cake Rusk')
# ..etc..
Типы данных в Python

Будьте внимательны при создании кортежей

  • Создавайте кортежи с помощью zip(), enumerate() или ()
item = ('vanilla', 'chocolate')

print(item)
('vanilla', 'chocolate')
  • Осторожно с замыкающими запятыми!
item2 = 'butter',

print(item2)
('butter',)
Типы данных в Python

Давайте потренируемся!

Типы данных в Python

Preparing Video For Download...