python tuple tutorial with hands examples
Разгледайте концепцията за Tuple в Python и Tuple vs List в този урок с примери:
В Python имаме четири типа данни за събиране, както е споменато по-долу:
- Списък
- Комплект
- Речник
- Tuple
В този урок ще разгледаме задълбочено Tuple в Python и различните му операции. Не пропускайте да прочетете нашите Цял набор от уроци по Python .
В Python кортежът е структура от данни и е подобен на масив, който се използва за съхраняване на множество данни наведнъж. Ако имате опит в други езици за програмиране като Java, C, C ++ и т.н., тогава ще сте запознати с концепцията за масиви, като по този начин кортежът е почти същият като масивите.
Какво ще научите:
- Какво е кортеж?
- Tuple срещу List
- Създаване на кортеж
- Достъп до стойности в Tuple
- Отрицателно индексиране
- Нарязване на кортежа
- Смяна на кортеж
- Преобразуване на списък в Tuple
- Преобразуване на Tuple в String
- Сортирайте Tuple в Python
- Опаковане и разопаковане на кортежа
- NamedTuple
- Върнете Tuple
- Индекс на кортежа извън обхвата
- Изтриване на Tuple
- Основни операции на кортежи
- Вградени Tuples методи
- Заключение
- Препоръчително четене
Какво е кортеж?
Tuple е структура от данни, която се използва за съхраняване на множество данни едновременно. Данните, съхранявани в кортеж, са разнородни и това наистина го прави най-мощната характеристика на кортежа в Python. Можем да съхраняваме множество данни от различни типове данни като String, Integers и обекти, както и в един комплект.
Кортежът е неизменим в Python, поради което данните не могат да бъдат променяни, след като бъдат присвоени.
Данните, съхранявани в кортеж, са достъпни с помощта на техния индекс, тъй като индексът на кортежа винаги ще започва от Нула. Всеки елемент има определено място в кортежа и всички тези данни са достъпни с помощта на индекса.
Tuple срещу List
- Списъкът в Python е променлив (Стойностите могат да се променят), докато Tuple е неизменим (Стойностите не могат да се променят)
- В сравнение със структурата на данните от списъка, кортежът предлага по-малко функции в Python.
- Тъй като кортежите са неизменни, това увеличава производителността, тъй като итерацията в кортеж е по-бърза в сравнение със списъка.
Създаване на кортеж
Данните в кортеж се съхраняват с разделени със запетая и се затварят в скоба (). Кортежите могат да съдържат произволен брой елементи от различни видове.
Синтаксис:
Tuple = (item1, item2, item3)
Пример: 1
Tuple = ()
Пример: 2
Tuple = (2, 4, 5.6)
Пример: 3
Tuple = (2, 5, 4.5, “Hi”)
Пример: 4
Tuple = (“Hi”, “Hello”, “Python”)
Ако наблюдаваме горните примери, сме съхранили елементи от различни типове данни, разделени със запетая, където 2 и 5 са от тип Integer, 4.5 е от тип float, а ‘Hi’ е от тип String. Можем да декларираме и празен кортеж.
как да добавите svn плъгин в eclipse -
Също така можем да декларираме списък или кортеж вътре в кортеж и това се нарича вложен кортеж.
Пример: 5
Tuple = (“Python”, (2, 4, 6), (4, 5.6, “Hi”)) print(“Contents of tuple is:”, Tuple)
Изход:
Съдържанието на кортежа е: („Python“, (2, 4, 6), (4, 5.6, „Hi“))
Ако спазвате горния пример, ние декларирахме списък и кортеж в друг кортеж.
Ако кортежът съдържа само един елемент, тогава той не се счита за кортеж. Трябва да е задната запетая, за да посочите интерпретатора, че е кортеж.
Нека да видим, в примера по-долу
Пример: 6
my_tuple = (“Python”) Print(“Type of my_tuple is:”, type(my_tuple)) my_tuple = (10) Print(“Type of my_tuple is:”, type(my_tuple)) my_tuple = (“Python”, ) Print(“Type of my_tuple is:”, type(my_tuple))
Изход:
Типът на my_tuple е:
Типът на my_tuple е:
Типът на my_tuple е:
Достъп до стойности в Tuple
Има няколко начина, по които можем да осъществим достъп до елементите, присъстващи в кортежа в Python. С помощта на индекс можем да получим достъп до елементите на кортежа. Индексът започва от 0 и индексът винаги трябва да бъде цяло число. Ако използваме индекс, различен от цяло число като float, това ще доведе до TypeError.
Пример: 1
Tuple = (3, 5, 6.7, “Python”) print(“Tuple is:”, Tuple)
Изход:
Tuple е: (3. 5. 6.7, “Python”)
В горния пример ние директно отпечатахме кортежа, използвайки функцията за печат, и нямаме достъп до отделните елементи на кортежа.
Нека да осъществим достъп до отделните елементи на кортежа.
Пример: 2
Tuple = (3, 5, 6.7, “Python”) print(“Third element of the Tuple is:”, Tuple(2))
Изход:
Третият елемент на Tuple е: 6.7
Пример: 3
Tuple = (3, 5, 6.7, “Python”) print(“First element of the Tuple is:”, Tuple(0)) print(“Last element of the Tuple is:”, Tuple(3))
Изход:
Първият елемент на Tuple е: 3
Последният елемент на Tuple е: ‘Python’
Също така можем да осъществим достъп до елементите, присъстващи в вложената кортеж, с помощта на вложено индексиране.
Пример: 4
Tuple = (“Python”, (2, 4, 6), (4, 5.6, “Hi”)) print(“First element of the tuple is:”, Tuple(0)(1)) print(“Items present inside another list or tuple is:”, Tuple(2)(1))
Изход:
Първият елемент на кортежа е: „y“
Елементи, присъстващи в друг списък или кортеж е: 5.6
Както беше обсъдено в Урок за списък на Python стойностите вътре в вложения списък се съхраняват под формата на матрица, по същия начин Tuple също следва същата концепция.
Противопоставяне
2 4 6
4 5.6 Здравей
Така че, когато се опитаме да осъществим достъп до Tuple (0) (1), тогава той ще сочи към 1улред и 2ndколона, така че данните ще бъдат ‘y’.
По същия начин, когато се опитаме да влезем в Списък (2) (1), той ще сочи към 3rdред и 2ndколона, така че данните ще бъдат 5.6
Забележка:Горната концепция работи само когато се опитвате да получите достъп до елементите на кортежа, като използвате вложеното индексиране.
Отрицателно индексиране
Можем да получим достъп до данни и с отрицателен индекс. Отрицателният индекс винаги ще започне от -1 и -1 се отнася до последния елемент, а -2 се отнася до последния втори елемент и следователно заедно.
Винаги помнете, че положителното индексиране се използва за итерация на елементите на кортеж по начин напред, докато отрицателното индексиране следва обратното.
Пример: 1
Tuple = (3, 5, 7.8) print(“Last element of the tuple is:”, Tuple(-1))
Изход:
Последният елемент на кортежа е: 7.8
Пример: 2
Tuple = (3, 5, 7.8) print(“First element of the tuple is:”, Tuple(-3))
Изход:
Първият елемент на кортежа е: 3
Нарязване на кортежа
Използвайки оператора за нарязване (:), можем да получим достъп до набор от елементи от кортежа.
Пример: 1
Tuple = (1, 2.5, 3, 4.9, 5, 6, “Python”) print(“Elements from 2nd to 5th is: ”, Tuple(1:5)) print(“Elements beginning to 4th is: ”, Tuple(:-3)) print(“Elements 4th to end is: ”, Tuple(3:)) print(“Elements from start to end is: “, Tuple(:))
Изход:
Елементи от 2-ри до 5-ти е: (2,5, 3, 4,9, 5)
Елементи, започващи до 4-ти е: (1, 2.5, 3, 4.9)
Елементи от 4 до край е: (4.9, 5, 6, ‘Python’)
Елементи от началото до края е: (1, 2.5, 3, 4.9, 5, 6, ‘Python’)
Също така можем да осъществим достъп до елементите, присъстващи в кортежа, използвайки цикъл for.
Пример: 2
Tuple = (3, 5, 7.8) print(“First element of the tuple is:”, Tuple(-3))
Изход:
един
две
3.5
5
„Здравей“
Смяна на кортеж
Както знаем, Tuples са неизменни в Python, следователно данните не могат да бъдат променяни, но списъците са променливи. По този начин списъците, присъстващи в кортежи (вложени кортежи), могат да бъдат променяни.
Пример: 1
Tuple = (3, 4.5, (4, 5, 6)) print(“Original Tuple is:”, Tuple) Tuple(2)(0) = 2 print(“Updated Tuple is:”, Tuple)
Изход:
Оригиналната Tuple е: (3, 4.5, (4, 5, 6))
Актуализиран Tuple е: (3, 4.5, (2, 5, 6))
Не можем да използваме функцията append () или extension () в Tuple, тъй като кортежите са неизменни. Също така не можете да използвате и функцията за премахване () или изскачане ().
Преобразуване на списък в Tuple
Можем да конвертираме списък в Tuple, използвайки вградена в Python функция, наречена tuple ().
Синтаксис:
tuple(arg1)
Функцията Tuple () приема един аргумент и аргументът трябва да бъде името на променливата в списъка.
Пример: 1
List = (2, 4, 5.6, “Hi”) print(“Original List is:”, List) Tuple = tuple(List) print(“After converting to tuple is:”, Tuple)
Изход:
Оригиналният списък е: (2, 4, 5.6, „Здравей“)
След конвертиране в кортеж е: (2, 4, 5.6, „Здравей“)
Преобразуване на Tuple в String
Също така можем да конвертираме Tuple в String, използвайки 2 начина.
Подход: 1
Използвайки вградения метод join () от String, можем да конвертираме Tuple в String.
Пример: 1
def convertTupleToString(my_tuple): s = ‘’.join(my_tuple) return s Tuple = (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’) print(“Before converting to String:”, Tuple) str = convertTupleToString(Tuple) print(“After converting to String:”, str)
Изход:
Преди да конвертирате в String: (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’)
След конвертиране в String: ‘Python’
Подход: 2
методът за намаляване () от functools се използва за преобразуване на Tuple в String. Този метод обединява символа, присъстващ в кортежа, и създава низ.
Пример: 2
import operator import functools def convertTupleToString(my_tuple): s = functools.reduce(operator.add, (my_tuple)) return s Tuple = (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’) print(“Before converting to String:”, Tuple) str = convertTupleToString(Tuple) print(“After converting to String:”, str)
Изход:
Преди да конвертирате в String: (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’)
След конвертиране в String: ‘Python’
Забележка: Можете да конвертирате Tuple в String само ако Tuple съдържа символи. Ако кортежът съдържа някакъв елемент от тип цяло число или плувка, тогава ще се появи грешка.
Пример: 3
def convertTupleToString(my_tuple): s = ‘’.join(my_tuple) return s Tuple = (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’, 4, 6.5) print(“Before converting to String:”, Tuple) str = convertTupleToString(Tuple) print(“After converting to String:”, str)
Изход:
Преди да конвертирате в String: („P“, „y“, „t“, „h“, „o“, „n“, 4, 6.5)
Traceback (последно последно обаждане):
Файл „”, ред 1, в
str = ”.join (Tuple)
TypeError: елемент на последователност 6: очакван екземпляр str, намерен int
Сортирайте Tuple в Python
В python имаме вградена функция, наречена sorted () за сортиране на елементите на кортежа.
Синтаксис:
sorted(arg1)
Методът sorted () приема един аргумент, който е име на променлива.
Пример: 1
def sortTuple(my_tuple): sort = sorted(my_tuple) return sort Tuple = (2, 4, 6, 1, 4, 7.8, 2.7) print(“Before sorting the Tuple is:”, Tuple) sortedTuple = sortTuple(Tuple) print(“After sorting the Tuple is:”, sortedTuple)
Изход:
Преди сортирането на Tuple е: (2, 4, 6, 1, 4, 7.8, 2.7)
След сортирането Tuple е: (1, 2, 2.7, 4, 4, 6, 7.8)
Опаковане и разопаковане на кортежа
Python предоставя важна функция, наречена опаковане и разопаковане. При опаковането поставяме стойността в кортеж, но при разопаковането извличаме всички тези стойности, съхранени в кортежите, в променливи.
Пример: 1
Tuple = (“John”, 23567, “Software Engineer”) (eName, eID, eTitle) = Tuple print(“Packed tuples is:”, Tuple) print(“Employee name is:”, eName) print(“Employee ID is:”, eID) print(“Employee Title is:”, eTitle)
Изход:
Опаковани кортежи е: („Джон“, 23567, „Софтуерен инженер“)
Името на служителя е: Джон
Идентификационен номер на служителя е: 23567
Заглавието на служителя е: Софтуерен инженер
Ако забележите в горния случай на ред номер 2, ние разопаковаме кортежа в някои променливи.
Забележка: Броят на елементите в кортежа трябва да бъде равен на броя на променливите в разопакования кортеж.
NamedTuple
Python предоставя специален тип функция, наречена namedtuple (), която идва от модула за събиране.
Имената Tuples са подобни на речник, който съдържа ключове и стойности. Но разликата е, че в речника можем да получим достъп до стойността само с помощта на ключа, но NamedTuple поддържа достъп както от стойността, така и от ключа.
Има три начина, чрез които можем да получим достъп до стойностите на nemaedtuple ().
- Достъп по индекс
- Достъп по ключ
- Достъп по метод getattr ()
Пример: 1
import collections Employee = collections.namedtuple(‘Employee’, (‘name’, ‘ID’, ‘Title’)) Emp = Employee(‘John’, ‘23567’, ‘Software Engineer’) #Accessing using index print(“Employee name is:”, Emp(0)) # Accessing using key print(“Employee ID is:”, Emp.ID) #Access by getattr() method print(“Employee Title is:”, getattr(Emp, ‘Title’))
Изход:
Името на служителя е: Джон
Идентификационен номер на служителя е: 23567
Заглавието на служителя е: Софтуерен инженер
какви са компонентите на Java платформата?
Имаме и три операции за преобразуване, поддържани за функцията namedtuples ().
- _make ()
- _asdict ()
- ** Оператор (двоен старт)
Пример: 2
import collections Employee = collections.namedtuple(‘Employee’, (‘name’, ‘ID’, ‘Title’)) Emp = Employee(‘John’, ‘23567’, ‘Software Engineer’) Emp1 = (‘Mathew’, ‘45783’, “Software Developer”) Emp2 = {‘name’ : “Helen”, ‘ID’ : 56873, ‘Title’ : “Test Lead”} #Using _make() print(Employee._make(Emp1)) #Using _asdict() print(Emp._asdict()) #Using ** operator print(Employee(**Emp2))
Изход:
Служител (name = ‘Mathew’, ID = ’45783 ′, Title =‘ Software Developer ’)
OrderedDict (((„име“, „Джон“), („ID“, „23567“), („Заглавие“, „Софтуерен инженер“)))
Служител (name = ’Helen’, ID = 56873, Title = ‘Test Lead’)
Върнете Tuple
Можем да върнем колекцията от стойности или кортежи, използвайки оператора return.
Пример: 1
def my_fun(): name = “John” ID = 23567 Title = “Software Engineer” return (name, ID, Title) employee = my_fun() print(“Employee detail is:”, employee)
Изход:
Подробностите за служителите са: („Джон“, 23567, „Софтуерен инженер“)
Индекс на кортежа извън обхвата
Индексът извън обхвата е едно от често срещаните изключения, които ще получим по време на работа с Tuples или list. Това изключение обикновено се случва, когато се опитате да получите достъп до елемент извън кортежа, обхват, което означава, че кортежите съдържат само 3 елемента и ако се опитате да получите достъп до 4тислед това ще получи индекс на кортеж извън изключението на диапазона.
Пример: 1
Tuple = (4, 7, 1.2, “Hi”) print(Tuple(4))
Изход:
Traceback (последно последно обаждане):
Файл „”, ред 1, в
Кортеж (4)
IndexError: индекс на кортежа извън обхвата
Ако наблюдавате в горния пример, ние се опитваме да осъществим достъп до елемента, който присъства на 5типозиция, но там не присъства елемент, поради което той изхвърля индекса на кортежа извън изключение.
Изтриване на Tuple
Не можем да изтрием отделни елементи от кортежа, тъй като кортежите са неизменни. Единственият начин да изтриете елементите от кортежа е да изтриете целия кортеж.
Python осигурява вградена функция ‘del’ за изтриване на целия кортеж.
Пример: 1
Tuple = (2, 4.5, “Python”) print(“Before deleting the tuple:”, Tuple) del Tuple print(“After Deleting the tuple:”, Tuple)
Изход:
Преди да изтриете кортежа: (2, 4.5, “Python”)
Traceback (последно последно обаждане):
Файл „”, ред 1, в
print („След изтриване на кортежа:“, Tuple)
NameError: име „Tuple“ не е дефинирано
В горния пример, след изтриване на кортежа, ние се опитваме да отпечатаме Кортежа, но той вече не съществува. Следователно хвърля NameError.
Основни операции на кортежи
Използвайки кортежи, можем да извършим някои основни операции като конкатенация, повторение и т.н.
Нека да видим всички основни операции с някои примери.
Пример: 1 - Конкатенация на Tuple
Можем да обединим кортежите с помощта на оператора ‘+’.
Tuple1 = (3, 5, “Hi”) Tuple2 = (5.6, 1, “Python”) print(“Tuple 1 is:”, Tuple1) print(“Tuple 2 is”, Tuple2) print(“Concatenation of Tuple 1 and Tuple 2 is:”, Tuple1+Tuple2)
Изход:
Tuple 1 е: (3, 5, „Hi“)
Tuple 2 е: (5.6, 1, “Python”)
Конкатенацията на Tuple 1 и Tuple 2 е: (3, 5, „Hi“, 5.6, 1, „Python“)
Пример: 2 - Tuple Repetition
Повторение на кортеж означава повторение на елементите на кортежите многократно. Това може да се постигне с помощта на оператора ‘*’.
Tuple = (3, 1, 5.6, “Python”) print(“Before the repetition the tuple is:”, Tuple) print(“After the repetition the tuple is:”, Tuple*3)
Изход:
безплатен софтуер за бази данни за Windows 10
Преди повторението кортежът е: (3, 1, 5.6, “Python”)
След повторението кортежът е: (3, 1, 5.6, „Python“, 3, 1, 5.6, „Python“, 3, 1, 5.6, „Python“)
Пример: 3 - Оператор за членство
Използвайки оператора ‘in’, можем да проверим дали даден елемент присъства в Tuple. Той връща логическата стойност True, ако елементът присъства в кортежа и връща False, ако елементът не присъства.
Tuple = (3, 2, 6) print(“Is element 2 present in Tuple:”, 2 in Tuple)
Изход:
Присъства ли елемент 2 в Tuple: Вярно
Вградени Tuples методи
Python предоставя няколко вградени метода за кортежи, както е описано в таблицата по-долу.
Методи | Описание |
---|---|
всеки () | Връща True, ако някой елемент е наличен в кортеж и връща False, ако кортежът е празен |
мин () | Връща най-малкия елемент (Integer) на Tuple |
макс () | Връща най-големия елемент (Integer) на Tuple |
len () | Връща дължината на Tuple |
сортирано () | Използва се за сортиране на всички елементи на Tuple |
сума () | Връща сумата от всички елементи (Цели числа) на Tuples |
Нека да видим как да използваме всички методи с пример.
Пример: 1 - всеки () метод
Tuple = (3, 1, 4.5) print(“Is there any elements present in Tuple:”, any(Tuple)) Tuple1 = () print(“Is there any elements present in Tuple1:”, any(Tuple1))
Изход:
Има ли елементи в Tuple: Вярно
Има ли елементи в Tuple1: False
Пример: метод 2 - min ()
Tuple = (3, 5.6, 5, 8) print(“Smallest element in the tuples is:”, min(Tuple))
Изход:
Най-малкият елемент в кортежите е: 3
Пример: метод 3 - max ()
Tuple = (3, 5.6, 5, 8) print(“Largest element in the tuples is:”, max(Tuple))
Изход:
Най-големият елемент в кортежите е: 8
Пример: метод 4 - len ()
Tuple = (3, 5.6, 5, 8) print(“Length of the tuple is:”, len(Tuple))
Изход:
Дължината на кортежа е: 4
Пример: 5 - сортиран () метод
Tuple = (2, 3.5, 1, 6, 4) print(“Sorted integer is:”, sorted(Tuple)) Tuple1 = (‘e’, ‘a’, ‘u’, ‘o’, ‘i’) print(“Sorted character is:”, sorted(Tuple1))
Изход:
Сортираното цяло число е: (1, 2, 3.5, 4, 6)
Сортираният знак е: („a“, „e“, „i“, „o“, „u“)
Пример: метод 6 - sum ()
Num = (3, 5.1, 2, 9, 3.5) print('Sum of all the numbers in the tuples is:', sum(Num))
Изход:
Сумата от всички числа в кортежите е: 22.6
Заключение
Кортежът е един от типовете данни в Python, който също се нарича структура на данните.
Python Tuple се използва за съхраняване на голям брой стойности на всякакви типове данни в една единствена променлива. Кортежите са неизменни, поради което повишава ефективността на достъпа до стойностите от кортежа.
Когато работите с кортежи, тогава е задължително да запомните всички вградени методи.
Надявам се, че бихте получили огромни познания за концепцията за Tuple в Python !!
Препоръчително четене
- Урок за Python DateTime с примери
- Урок за Python за начинаещи (практически БЕЗПЛАТНО обучение за Python)
- Урок за основната функция на Python с практически примери
- Уроци за задълбочено затъмнение за начинаещи
- Функции на низовете на Python
- Урок за разделяне на низове на Python
- Урок за JAVA за начинаещи: 100+ практически ръководства за Java видео
- Променливи на Python