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']
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 более питоническим способом.