Module (74%)
Section (83%)

Основные тезисы: кортежи


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

my_tuple = (1, 2, True, "a string", (3, 4), [5, 6], None) print(my_tuple) my_list = [1, 2, True, "a string", (3, 4), [5, 6], None] print(my_list)

Каждый элемент кортежа может относиться к разному типу (т.е. целые числа, строки, логические значения и т.д.). Более того, кортежи могут содержать другие кортежи или списки (и наоборот).

2. Так Вы можете создать пустой кортеж:

empty_tuple = () print(type(empty_tuple)) # outputs: <class 'tuple'>

3. Одноэлементный кортеж может быть создан следующим образом:

one_elem_tuple_1 = ("one", ) # Brackets and a comma. one_elem_tuple_2 = "one", # No brackets, just a comma.

Если вы удалите запятую, вы скажете Python создать переменную, а не кортеж.:

my_tuple_1 = 1, print(type(my_tuple_1)) # outputs: <class 'tuple'> my_tuple_2 = 1 # This is not a tuple. print(type(my_tuple_2)) # outputs: <class 'int'>

4. Вы можете получить доступ к элементам кортежа, индексируя их:

my_tuple = (1, 2.0, "string", [3, 4], (5, ), True) print(my_tuple[3]) # outputs: [3, 4]

5. Кортежи неизменяемы, что означает, что Вы не можете изменять их элементы (Вы не можете добавлять, изменять или удалять элементы кортежа). Следующий код вызовет исключение:

my_tuple = (1, 2.0, "string", [3, 4], (5, ), True) my_tuple[2] = "guitar" # The TypeError exception will be raised.

Однако вы можете удалить кортеж целиком:

my_tuple = 1, 2, 3, del my_tuple print(my_tuple) # NameError: name 'my_tuple' is not defined



6. Вы можете перебрать элементы кортежа (Пример 1), проверить, присутствует ли (или нет) конкретный элемент в кортеже (Пример 2), использовать функцию len(), чтобы проверить, сколько элементов есть в кортеже (Пример 3) или можете объединить/умножить кортежи (Пример 4):

# Пример 1 tuple_1 = (1, 2, 3) for elem in tuple_1: print(elem) # Example 2 tuple_2 = (1, 2, 3, 4) print(5 in tuple_2) print(5 not in tuple_2) # Example 3 tuple_3 = (1, 2, 3, 5) print(len(tuple_3)) # Example 4 tuple_4 = tuple_1 + tuple_2 tuple_5 = tuple_3 * 2 print(tuple_4) print(tuple_5)

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

Также Вы можете создать кортеж, используя встроенную функцию Python под названием tuple(). Это особенно полезно, когда Вы хотите преобразовать определенный итерируемый объект (например, список, диапазон, строку и т.д.) в кортеж.:

my_tuple = tuple((1, 2, "string")) print(my_tuple) my_list = [2, 4, 6] print(my_list) # outputs: [2, 4, 6] print(type(my_list)) # outputs: <class 'list'> tup = tuple(my_list) print(tup) # outputs: (2, 4, 6) print(type(tup)) # outputs: <class 'tuple'>

Таким же образом, если Вы хотите преобразовать итерируемый объект в список, Вы можете использовать встроенную функцию Python под названием list():

tup = 1, 2, 3, my_list = list(tup) print(type(my_list)) # outputs: <class 'list'>