Рубрики
Без рубрики

Python Tupple – неизменяемая последовательность

Python Tupple – неизменяемая последовательность. Как создать кортеж, итерацию по кортежу, конвертировать список в кортеж, конвертировать строку в список кортежей, Python Tuple VS.

Автор оригинала: Pankaj Kumar.

Python Tupple – неизменяемая последовательность

  • Python Tupple – неизменяемая последовательность.
  • Кортеж создан со значениями, разделенными запятой.
  • Поскольку кортеж неизменен, мы не можем добавить или удалить его элементы.
  • Если элементы кортежа не являются неизменными, их свойства могут быть изменены. Но мы не можем напрямую изменить элемент кортежа.
  • Мы можем создавать вложенные кортежи.
  • Мы можем получить доступ к элементам кортежей через их индекс. Он также поддерживает негативную индексацию для обозначения элементов с конца для начала.
  • Мы также можем распаковывать элементы кортежа к ценностям, разделенными запятыми.
  • Кортеры обычно создаются для хранения гетерогенных элементов. Они также могут иметь Нет Отказ
  • Кортежи поддерживают два Операторы : + для конкатенации и * для повторения элементов.
  • Tuple поддерживает нарезку, чтобы создать еще один кортеж из исходного кортежа.
  • Мы можем использовать «в» и «не в операторах» с кортежом, чтобы проверить, присутствует ли элемент в кортеже или нет.
  • Поскольку кортеж – это последовательность, мы можем повторить свои элементы, используя для петли Отказ
  • У класса Python Tuple имеет два Функции – count () и Индекс () Отказ

Как создать кортеж в Python?

Мы можем создать кортеж, поместив все его элементы внутри скобок, разделенные запятой.

tuple_numbers = (1, 2, 3, 1)

Мы можем сохранить различные типы объектов в кортеже.

tup = 1, 2, 3, 1, None, "Hello"

Давайте посмотрим на пример вложенного кортежа.

nested_tuple = ((1, 2), ("Hello", "Hi"), "Python")

Мы можем создать пустой кортеж, не имея ни одного элемента внутри скобок.

empty_tuple = ()

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

>>> tup = 1, 2, "Hello"
>>> print(tup)
(1, 2, 'Hello')
>>>

Создание единого предмета кортежа немного сложно. Если вы разместите одно значение внутри скобок, он не создаст кортеж. Это создаст объект типа значения. Давайте проверим это поведение простым примером.

single_item_tuple = ("Hello")

print(type(single_item_tuple))

single_item_tuple = (10)

print(type(single_item_tuple))

Выход:

Пример кортежа Python

Мы можем добавить запятую после значения, чтобы создать кортеж с одним элементом.

single_item_tuple = "Hello",

print(type(single_item_tuple))

single_item_tuple = 10,

print(type(single_item_tuple))
Python кортеж с одним элементом

Как получить доступ к элементам кортежей?

Мы можем получить доступ к элементам кортежей через их индекс. Значение индекса начинается от 0 до длины кортежа – 1.

tuple_numbers = (1, 2, 3, 4)

print(f'First element in tuple is {tuple_numbers[0]}')
print(f'Third element in tuple is {tuple_numbers[3]}')

Если размер кортежа меньше указанного индекса, « indexError: индекс кортежа вне диапазона ».

>>> tuple_numbers = (1, 2, 3, 4)
>>> tuple_numbers[10]
Traceback (most recent call last):
  File "", line 1, in 
IndexError: tuple index out of range
>>>

Tupple также поддерживает негативную индексацию. В этом случае элемент кортежа извлекается с конца до начала. Отрицательный индекс начинается из -1 к – (длина кортежа).

tuple_numbers = (1, 2, 3, 4)

print(f'Last element in tuple is {tuple_numbers[-1]}')
print(f'Second Last element in tuple is {tuple_numbers[-2]}')
print(f'First element in tuple is {tuple_numbers[-4]}')

Если у нас есть вложенный кортеж, мы можем получить доступ к своим элементам через вложенные индексы.

>>> nested_tuple = (1, 2, (3, 4), (5, 6, 7))
>>> nested_tuple[2][0]
3
>>> nested_tuple[2][1]
4
>>> nested_tuple[3][0]
5
>>> nested_tuple[3][1]
6
>>> nested_tuple[3][2]
7
>>>

Мы можем использовать негативные индексы с вложенными кортежами.

>>> nested_tuple = (1, 2, (3, 4), (5, 6, 7))
>>> 
>>> nested_tuple[-1][-1]
7
>>> nested_tuple[-2][1]
4
>>> nested_tuple[-2][-1]
4
>>> nested_tuple[3][-2]
6
>>> 

Ниже приведено изображение показывает, как работают индексы в кортеже.

Индекс Python Tuple

Нарезать кортеж

Мы можем использовать нарезку для создания подмножества кортежа. Это полезно для создания нового кортежа из источника кортежа. Техника нарезки содержит два индекса, разделенными с помощью толстой кишки. Левый индекс включен, и правильный индекс исключен из результата.

tuple_numbers = (1, 2, 3, 4, 5, 6, 7, 8)

print(tuple_numbers[1:3])
print(tuple_numbers[:4])
print(tuple_numbers[5:])
print(tuple_numbers[:-5])

Выход:

Нарезка кортежа в Python

Кортеж неизменен

Кортеж неизменен в природе. Таким образом, мы не можем добавить, обновлять или удалять его элементы. Однако, если элемент изменяется, то его свойства могут измениться.

>>> tup = (1,2)
>>> tup[0] = 10
Traceback (most recent call last):
  File "", line 1, in 
TypeError: 'tuple' object does not support item assignment

Давайте посмотрим на примере, где элементы кортежа были измельчены, и мы изменяем их свойства.

list_fruits = ["Apple"]

tup = ("Hello", list_fruits)

print(tup)

list_fruits.append("Banana")

print(tup)

Выход:

Python кортеж с мулюмами

Удаление кортежа

Мы не можем удалить элементы кортежа. Но мы можем удалить сам кортеж, используя дель утверждение.

>>> tup = (1,2)
>>> print(tup)
(1, 2)
>>> del tup
>>> print(tup)
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'tup' is not defined
>>>

Соединение кортежа (+ оператор)

Мы можем объединить элементы кортежа, чтобы создать новый кортеж, используя оператор +.

>>> tuple1 = (1, 2)
>>> tuple2 = (3, 4)
>>> tuple3 = (5, 6, 7)
>>> 
>>> tuple_all = tuple1 + tuple2 + tuple3
>>> print(tuple_all)
(1, 2, 3, 4, 5, 6, 7)
>>> 

Повторяющиеся элементы кортежа (* оператор)

Tupple также поддерживает * Оператор для создания нового кортежа с элементами повторяется заданное количество раз.

>>> tup = (1, 2, (3, 4))
>>> 
>>> tup1 = tup * 3
>>> 
>>> print(tup1)
(1, 2, (3, 4), 1, 2, (3, 4), 1, 2, (3, 4))
>>> 

Функции Python Tupple

Класс TUPLE имеет две функции.

  1. Count (x) : возвращает количество вхождений данного элемента.
  2. Индекс (X, начало, конец) : возвращает первый индекс значения. Мы можем указать начальный и конец индекс, чтобы искать значение в кортеже. Если значение не найдено, ValueError Поднялся.
>>> tup = (1, 2, 3, 1, 2, 1, 3, 2, 1)
>>> 
>>> tup.count(1)
4
>>> tup.count(2)
3
>>> tup.index(2)
1
>>> tup.index(2, 2)
4
>>> tup.index(2, 2, 6)
4
>>> tup.index(20)
Traceback (most recent call last):
  File "", line 1, in 
ValueError: tuple.index(x): x not in tuple
>>> 

Тест членства кортежей (в не в операторах)

Мы можем проверить, содержит ли кортеж элемент, используя оператор «в». Точно так же мы можем использовать оператор «не в», чтобы проверить, если элемент отсутствует в кортеже.

>>> vowels = ("a", "e", "i", "o", "u")
>>> 
>>> "a" in vowels
True
>>> "x" in vowels
False
>>> 
>>> "a" not in vowels
False
>>> "x" not in vowels
True

Итерация через кортеж

Мы можем использовать для петли, чтобы итерации через элементы кортежа.

vowels = ("a", "e", "i", "o", "u")

for v in vowels:
    print(v)

Если вы хотите повторить кортеж в обратном порядке, вы можете использовать обратный () функцию.

for v in reversed(vowels):
    print(v)

Tupple VS списка

  • Кортеж неизменен, тогда как список сметен.
  • Tupple предпочтительнее в списке для хранения различных типов Типы данных в последовательности.
  • Поскольку кортеж неизменен, итерацией через кортеж немного быстрее, чем список.
  • Кортеж – это больше памяти и оптимизировано пространством, чем список.
  • Если вы хотите добавить, удалите элементы из последовательности, затем используйте список.

Python Tupple () встроенный функция

Мы также можем использовать функцию TUPLE () для создания кортежа. Он принимает счетчик аргументов, такой как список и строка. Это полезно для преобразования других типов последовательности в кортеж.

1. Список Python в кортеж

list_numbers = [1, 2, 3]

tuple_numbers = tuple(list_numbers)
print(tuple_numbers)  # (1, 2, 3)

2. Строка Python в кортеж

s = "ABCD"
tuple_str = tuple(s)
print(tuple_str)  # ('A', 'B', 'C', 'D')

3. Диапазон Python для кортежа

r = range(1, 10)
tuple_range = tuple(r)
print(tuple_range)

Заключение

Текурный кортеж – неизменяемая последовательность в Python. Когда вы хотите иметь последовательность только для чтения, используйте кортеж.

Использованная литература: