17 распространенных операций с использованием кортежей в Python, о которых вы должны знать

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

1. Подсчет вхождений элемента в кортеж

count () используется для подсчета общего количества вхождений элемента в кортеж. Если элемент не найден в кортеже, функция возвращает 0.

 tup1 = ( 1, 4, 7, 3, 6, 4, 1, 8, 4 )
# counts number of times 4 occurs in the tuple
print( tup1.count(4) )
# prints
3

2. Определение позиции элемента в кортеже

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

 tup1 = ( 1, 4, 7, 3, 6, 4, 1, 8, 4)
print( tup1.index(4) )
# prints
1

Примечание:

Если вы попытаетесь найти индекс элемента, которого нет в кортеже, функция выдаст ValueError как:

ValueError: tuple.index (x): x не в кортеже

3. Как объединить две или более кортежей

Вы можете объединить два или более кортежа с помощью оператора + .

 tup1 = ( 1, 2, 3 )
tup2 = ( 4, 5, 6 )
tup3 = tup1 + tup2
print( tup3 )
# prints
(1, 2, 3, 4, 5, 6)

4. Как преобразовать строку в кортеж

Вы можете использовать конструктор tuple () для преобразования строки в кортеж, передав строку в качестве параметра конструктору tuple ().

 tup1 = tuple( "MAKEUSEOF" )
print( tup1 )
# prints
('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O', 'F')

5. Как преобразовать список в кортеж

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

Подход 1: использование конструктора tuple ()

Конструктор tuple () используется для преобразования списка в кортеж путем передачи списка в качестве параметра конструктору tuple ().

 list1 = [1, 2, 3, 4, 5, 6]
tup1 = tuple(list1)
print(tup1)
# prints
(1, 2, 3, 4, 5, 6)

Подход 2: использование конструктора цикла внутри tuple ()

Это небольшая вариация вышеупомянутого подхода. Мы запускаем цикл ( используя понимание списка ) внутри конструктора tuple () для создания кортежа.

 list1 = [ 1, 2, 3, 4, 5, 6 ]
tup1 = tuple( element for element in list1 )
print( tup1 )
# prints
(1, 2, 3, 4, 5, 6)

Подход 3. Использование (* listName,)

Это распаковывает список внутри литерала кортежа из-за наличия единственной запятой ( , ). Это самый быстрый из трех подходов.

 list1 = [1, 2, 3, 4, 5, 6]
tup1 = (*list1,)
print(tup1)
# prints
(1, 2, 3, 4, 5, 6)

6. Как умножать кортежи

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

 tup1 = ( 1, 2, 3 )
tup2 = tup1 * 3
print( tup2 )
# prints
(1, 2, 3, 1, 2, 3, 1, 2, 3)

7. Как найти общее количество элементов в кортеже

Функция len () – одна из наиболее часто используемых встроенных функций в Python. Он используется для определения общего количества элементов в объекте. Вы можете использовать функцию len () с кортежем для подсчета общего количества элементов в кортеже.

 tup1 = ( 1, 2, 3 )
print( len( tup1 ) )
# prints
3

8. Как найти минимальный элемент в кортеже

Функция min () используется для поиска элемента с наименьшим значением в заданном кортеже.

 tup1 = ( 1, 2, 3 )
print("Minimum element in the tuple is: ")
print( min( tup1 ) )
# prints
Minimum element in the tuple is:
1

9. Как найти максимальный элемент в кортеже

Функция max () используется для поиска элемента с наибольшим значением в заданном кортеже.

 tup1 = ( 1, 2, 3 )
print("Maximum element in the tuple is: ")
print( max( tup1 ) )
# prints
Maximum element in the tuple is:
3

10. Как найти сумму всех элементов в кортеже

Функция sum () используется для вычисления арифметической суммы всех элементов в кортеже.

 tup1 = ( 1, 2, 3 )
print("Sum of elements : ")
print( sum( tup1 ) )
# prints
Sum of elements :
6

11. Операция any () над кортежами

Если один или несколько элементов кортежа имеют логическое значение True, функция any () возвращает True, в противном случае возвращает False .

 tup1 = ( False, False, False, True )
print( any( tup1 ) )
# prints
True

12. Операция all () над кортежами

Вы можете использовать функцию all (), чтобы проверить, все ли элементы кортежа имеют логическое значение True. Даже если какой-либо элемент кортежа имеет логическое значение False, функция возвращает False.

 tup1 = ( True, True, True, False, True )
print( all( tup1 ) )
# prints
False

13. Операция sorted () над кортежами

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

 tup1 = ( 6, 1, 8, 3, 7, 2 )
print( sorted(tup1) )
print( type(sorted( tup1 )) )

# prints
[1, 2, 3, 6, 7, 8]
<class 'list'>
# Note that the return type is list

14. Как перемешать кортеж

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

Шаг 1: приведение кортежа к списку

Шаг 2. Перемешайте список

Шаг 3: приведение списка к кортежу

 import random
old_tuple = ( 45, 46, 47, 48, 49 )
# Printing tuple
print("Old tuple:")
print(old_tuple)
# Typecasting tuple to list
list1 = list(old_tuple)
# Shuffling list
random.shuffle(list1)
# Typecasting list back to tuple
new_tuple = tuple(list1)
# Printing new shuffled tuple
print("New shuffled tuple:")
print(new_tuple)
# prints
Old tuple:
(45, 46, 47, 48, 49)
New shuffled tuple:
(45, 49, 46, 47, 48)

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

15. Как преобразовать список кортежей в список списков

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

 list1 = [ ('A', 'B'), ('C', 'D'), ('E', 'F') ]
print("List of tuples:")
print( list1 )
# List Comprehension
result = [ list(element) for element in list1 ]
print("List of lists:")
print(result)
# prints

List of tuples:
[('A', 'B'), ('C', 'D'), ('E', 'F')]
List of lists:
[['A', 'B'], ['C', 'D'], ['E', 'F']]

16. Как преобразовать список кортежей в список строк

Используя метод понимания списка и join (), мы можем преобразовать список кортежей в список строк.

 list1 = [ ('M', 'A', 'K', 'E'), ('U', 'S', 'E'), ('O', 'F') ]
print("List of tuples:")
print( list1 )
# List Comprehension with join() method
result = [ ''.join(element) for element in list1 ]
print("List of strings:")
print(result)
# prints

List of tuples:
[('M', 'A', 'K', 'E'), ('U', 'S', 'E'), ('O', 'F')]
List of strings:
['MAKE', 'USE', 'OF']

Связанный: Как использовать циклы For в Python

17. Как обратить кортеж

Используя технику нарезки, мы можем перевернуть кортеж. Во время этого процесса создается новая копия кортежа.

 old_tuple = ('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O', 'F')
print("Old tuple:")
print(old_tuple)
# Reversing tuple using slicing
new_tuple = old_tuple[::-1]
print("New tuple:")
print(new_tuple)
# prints
Old tuple:
('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O', 'F')
New tuple:
('F', 'O', 'E', 'S', 'U', 'E', 'K', 'A', 'M')

Изучение питонического пути

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