Как да създавате и използвате кортежи в Python

Как да създавате и използвате кортежи в Python

Кортежът е колекция от неизменни обекти на Python. Той може да съдържа елементи от произволен тип данни (цяло число, низ, плаващ, списък и т.н.), което го прави гъвкава и мощна структура от данни. Той е част от основния език на Python и се използва широко в програми и проекти на Python.





Създаване на кортеж

Кортеж в Python може да бъде създаден чрез затваряне на всички елементи, разделени със запетая, в скобите () .





t1 = (1, 2, 3, 4)
t2 = ('Make', 'Use', 'Of')
t3 = (1.2, 5.9, 5.4, 9.3)

Елементите на кортежа са неизменни и подредени. Той позволява дублиращи се стойности и може да има произволен брой елементи. Можете дори да създадете празен кортеж. Елементите на кортеж могат да бъдат от всякакъв тип данни (цяло число, плаващо, низове, кортеж и т.н.).





Създаване на празен кортеж

Празен кортеж може да бъде създаден чрез използване на празни отварящи и затварящи скоби.

emptyTuple = ()

Създаване на кортеж с един елемент

За да създадете кортеж само с 1 елемент, трябва да добавите a параграф след елемента, за да бъде разпознат като кортеж от Python.



# t1 is a tuple
t1 = ( 3.14, )
print( type(t1) )
# prints
# t2 is not a tuple
t2 = ( 3.14 )
print( type(t2) )
# prints

Забележка: Тип() Функцията връща типа клас на обекта, предаден като параметър.

Ако не използвате запетая след елемента, резултатът от типа клас на t2 е „плаващ“, поради което е задължително да се използва запетая след елемента, когато се създава кортеж с една стойност.





Създаване на кортеж с различни типове данни

Елементите на кортежа могат да бъдат от всякакъв тип данни. Тази функция прави кортежа универсален.

windows не успя да стартира windows 10
tup1 = ( 'MUO', True, 3.9, 56, [1, 2, 3] )
print( tup1 )
# prints
('MUO', True, 3.9, 56, [1, 2, 3])

Създаване на кортеж с помощта на конструктор tuple ()

Кортежите също могат да бъдат създадени с помощта на кортеж () конструктор. С помощта на конструктора tuple () можете да конвертирате последователности като списък/речник в кортеж.





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

Създаване на вложен кортеж

Кортежите могат лесно да бъдат вложени вътре в другите кортежи. Можете да вложите кортежа до всяко ниво, което искате.

tup1 = (1, 2, 3)
tup2 = ( 'Hello', tup1, 45 )
print( tup2 )
# prints
('Hello', (1, 2, 3), 45)

Достъп до елементи в кортеж

Можете да получите достъп до кортежни елементи, като използвате индексния номер в квадратните скоби. Индексният номер започва от 0. Tuple също поддържа отрицателно индексиране:

  • -1: посочва последния елемент
  • -2: сочи към втория последен елемент и така нататък
tup1 = ('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O', 'F')
print( tup1[0] )
print( tup1[5] )
print( tup1[-1] )
print( tup1[-9] )
# prints
M
S
F
M

Нарязване на кортеж

Можете да получите достъп до редица елементи в кортеж с помощта на двоеточие : оператор. Tuple също поддържа операция за нарязване, използвайки отрицателни индекси.

tup1 = ('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O', 'F')
# Prints elements from index 1(included) to index 6(excluded)
print( tup1[1:6] )
# Prints elements from start to index 8(excluded)
print( tup1[:8] )
# Prints elements from index 3(included) to the end
print( tup1[3:] )
# Prints elements from index -4(included) to index -1(excluded)
print( tup1[-4:-1] )
# prints
('A', 'K', 'E', 'U', 'S')
('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O')
('E', 'U', 'S', 'E', 'O', 'F')
('S', 'E', 'O')

Проверка дали елемент съществува в кортеж

Можете да проверите дали елемент съществува в кортеж с помощта на в ключова дума.

tup1 = ('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O', 'F')
if 'M' in tup1:
print('Yes, the element M exists in the tuple')
else:
print('Element not found in the tuple !!')

# prints
Yes, the element M exists in the tuple

Актуализиране на кортежи

Колкото и неизменни кортежи, не е възможно да се промени тяхната стойност. Python изхвърля TypeError, ако се опитате да актуализирате кортежа.

tup1 = ('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O', 'F')
tup1[0] = 'Z'
# Following error is thrown
tup1[0] = 'Z'
TypeError: 'tuple' object does not support item assignment

Но има хак, ако искате да актуализирате вашия кортеж.

Променете стойността на елементите на кортеж с помощта на списъци

Можете да промените стойността на елементите във вашия кортеж с помощта списъци в Python . Първо, ще трябва да конвертирате кортежа в списък. След това променете списъка, както искате. Накрая конвертирайте списъка обратно в кортеж.

tup1 = ( 1, 2, 3 )
print( 'This is the old Tuple: ')
print( tup1 )
temp = list( tup1 )
temp[0] = 4
tup1 = tuple( temp )
print( 'This is the Updated Tuple: ')
print( tup1 )
# prints
This is the old Tuple:
(1, 2, 3)
This is the Updated Tuple:
(4, 2, 3)

Добавяне на нови елементи в кортеж с помощта на списъци

Тъй като кортежите са непроменими, не е възможно да се добавят нови елементи в кортеж. Python ще изхвърли грешка като:

AttributeError: 'tuple' object has no attribute 'append

Отново можете да използвате нашия хак (използвайки списъци), за да се справите с това. Първо конвертирайте кортежа в списък. След това добавете нови елементи към списъка. Накрая конвертирайте списъка в кортеж.

как да инсталирате плъгини в gimp

Забележка: методът append () се използва в Python за да добавите нов елемент в края на списъка.

tup1 = ( 1, 2, 3 )
print( 'This is the old Tuple: ')
print( tup1 )
temp = list( tup1 )
temp.append(4)
tup1 = tuple( temp )
print( 'This is the Updated Tuple: ')
print( tup1 )
# prints
This is the old Tuple:
(1, 2, 3)
This is the Updated Tuple:
(1, 2, 3, 4)

Операция за изтриване на кортежи

Тъй като кортежите са непроменими, не е възможно да изтриете всеки елемент от кортежа. Ако искате да изтриете пълния кортеж, това може да стане с помощта от ключова дума.

tup1 = ( 1, 2, 3 )
del tup1

Но можете да използвате същия хак (използвайки списъци), който сте използвали за промяна и добавяне на кортежни елементи.

Изтриване на елементи от кортеж с помощта на списъци

Елементите могат да бъдат изтрити от кортежа с помощта на списъци в 3 прости стъпки:

Стъпка 1: Преобразувайте кортежа в списък.

Стъпка 2: Изтрийте елементите от списъка с помощта на Премахване() метод

Стъпка 3: Преобразувайте списъка в кортеж.

tup1 = ( 1, 2, 3 )
print( 'This is the old Tuple: ')
print( tup1 )
temp = list( tup1 )
temp.remove(1)
tup1 = tuple( temp )
print( 'This is the Updated Tuple: ')
print( tup1 )
# prints
This is the old Tuple:
(1, 2, 3)
This is the Updated Tuple:
(2, 3)

Опаковане и разопаковане на кортежи

При създаването на кортеж се присвояват стойности. Това се казва Опаковане на кортеж .

# Example of packing a tuple
tup1 = ( 1, 2, 3)

Докато извличането на стойностите обратно в променливи се извиква Разопаковане на кортеж .

виртуален windows xp на windows 10
# Example of unpacking a tuple
tup1 = ( 1, 2, 3 )
( one, two, three ) = tup1
print( one )
print( two )
print( three )
# prints
1
2
3

Циклиране с Python кортежи

Кортежите са контейнери за повторение, точно като списъци в Python. Можете лесно да преминете през елементите на кортежа.

Използване за Loop

Цикълът на for на Python работи чрез итерация през елементите на контейнера.

# Looping using for loop
tup1 = ( 1, 2, 3 )
for element in tup1:
print( element )
# prints
1
2
3

Свързани: Как да използвате For Loops в Python

Използване на индексни номера

Можете да преглеждате кортежа с помощта на индекси на кортежи. Използвай len () функция за намиране на размера на кортежа.

tup1 = ( 1, 2, 3 )
for index in range(len(tup1)):
print( tup1[index] )

# prints
1
2
3

Подобряване на ефективността на вашия код

Тъй като структурата от данни на кортежа е неизменна, нейната скоростта на обработка е по -бърза отколкото списъци. По този начин той осигурява оптимизация на програми/проекти на Python. Използването на тази мощна и гъвкава структура от данни (кортежи) във вашите програми на Python ще изведе ефективността на вашия код на следващото ниво.

Дял Дял Туит електронна поща Изучаване на Python? Ето как да манипулирате низове

Използването и манипулирането на низове в Python може да изглежда трудно, но е измамно просто.

Прочетете Напред
Свързани теми
  • Програмиране
  • Python
За автора Юврадж Чандра(60 статии са публикувани)

Юврадж е студент по компютърни науки в Университета в Делхи, Индия. Той е страстен за Full Stack Web Development. Когато не пише, изследва дълбочината на различните технологии.

Още от Yuvraj Chandra

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате