Питхон Тупле (са примерима)

У овом чланку ћете научити све о Питхон корпицама. Прецизније, шта су топле, како их стварати, када их користити и разне методе с којима бисте требали бити упознати.

Видео: Питхон листе и тупле

Тупле у Питхону је слично листи. Разлика између њих две је у томе што не можемо мењати елементе корпе када јој је додељена, док можемо мењати елементе листе.

Стварање коријена

Набор се ствара стављањем свих ставки (елемената) у заграде (), одвојених зарезима. Заграде нису обавезне, међутим, добра је пракса да их користите.

Тупле може имати било који број предмета и могу бити различитих врста (цео број, флоат, листа, низ итд.).

 # Different types of tuples # Empty tuple my_tuple = () print(my_tuple) # Tuple having integers my_tuple = (1, 2, 3) print(my_tuple) # tuple with mixed datatypes my_tuple = (1, "Hello", 3.4) print(my_tuple) # nested tuple my_tuple = ("mouse", (8, 4, 6), (1, 2, 3)) print(my_tuple)

Оутпут

 () (1, 2, 3) (1, „Здраво“, 3.4) („миш“, (8, 4, 6), (1, 2, 3))

Тупле се такође може створити без употребе заграда. Ово је познато као паковање корпе.

 my_tuple = 3, 4.6, "dog" print(my_tuple) # tuple unpacking is also possible a, b, c = my_tuple print(a) # 3 print(b) # 4.6 print(c) # dog

Оутпут

 (3, 4.6, 'пас') 3 4.6 пас

Стварање корпице са једним елементом помало је незгодно.

Имати један елемент у заградама није довољно. Требат ће нам зареза која означава да је то у ствари корпица.

 my_tuple = ("hello") print(type(my_tuple)) # # Creating a tuple having one element my_tuple = ("hello",) print(type(my_tuple)) # # Parentheses is optional my_tuple = "hello", print(type(my_tuple)) # 

Оутпут

 

Приступите скупљеним елементима

Постоје различити начини на које можемо приступити елементима корпе.

1. Индексирање

Можемо користити оператор индекса ()за приступ ставци у корпици, где индекс почиње од 0.

Дакле, корпица која има 6 елемената имаће индексе од 0 до 5. Покушај приступа индексу изван опсега индекса корпица (6,7, … у овом примеру) подићи ће вредност IndexError.

Индекс мора бити цео број, тако да не можемо користити флоат или друге типове. Ово ће резултирати TypeError.

Слично томе, угнежђеним корпицама се приступа помоћу угнежђеног индексирања, као што је приказано у примеру испод.

 # Accessing tuple elements using indexing my_tuple = ('p','e','r','m','i','t') print(my_tuple(0)) # 'p' print(my_tuple(5)) # 't' # IndexError: list index out of range # print(my_tuple(6)) # Index must be an integer # TypeError: list indices must be integers, not float # my_tuple(2.0) # nested tuple n_tuple = ("mouse", (8, 4, 6), (1, 2, 3)) # nested index print(n_tuple(0)(3)) # 's' print(n_tuple(1)(1)) # 4

Оутпут

 птс 4

2. Негативно индексирање

Питхон дозвољава негативно индексирање својих секвенци.

Индекс -1 односи се на последњу ставку, -2 на другу последњу ставку и тако даље.

 # Negative indexing for accessing tuple elements my_tuple = ('p', 'e', 'r', 'm', 'i', 't') # Output: 't' print(my_tuple(-1)) # Output: 'p' print(my_tuple(-6))

Оутпут

 тп

3. Резање

Можемо приступити низу предмета у корпици помоћу двотачке оператора резања :.

 # Accessing tuple elements using slicing my_tuple = ('p','r','o','g','r','a','m','i','z') # elements 2nd to 4th # Output: ('r', 'o', 'g') print(my_tuple(1:4)) # elements beginning to 2nd # Output: ('p', 'r') print(my_tuple(:-7)) # elements 8th to end # Output: ('i', 'z') print(my_tuple(7:)) # elements beginning to end # Output: ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z') print(my_tuple(:))

Оутпут

 ('р', 'о', 'г') ('п', 'р') ('и', 'з') ('п', 'р', 'о', 'г', 'р ',' а ',' м ',' и ',' з ')

Резање се може најбоље визуализовати узимајући у обзир да је индекс између елемената као што је приказано доле. Дакле, ако желимо да приступимо опсегу, потребан нам је индекс који ће исећи део из корпице.

Резање елемената у Питхон-у

Промена корпице

За разлику од листа, корте су непроменљиве.

То значи да се елементи корпе не могу мењати након што им се доделе. Али, ако је елемент сам по себи променљив тип података попут листе, његове угнежђене ставке могу се променити.

Такође можемо доделити корпицу различитим вредностима (поновно додељивање).

 # Changing tuple values my_tuple = (4, 2, 3, (6, 5)) # TypeError: 'tuple' object does not support item assignment # my_tuple(1) = 9 # However, item of mutable element can be changed my_tuple(3)(0) = 9 # Output: (4, 2, 3, (9, 5)) print(my_tuple) # Tuples can be reassigned my_tuple = ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z') # Output: ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z') print(my_tuple)

Оутпут

 (4, 2, 3, (9, 5)) ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')

We can use + operator to combine two tuples. This is called concatenation.

We can also repeat the elements in a tuple for a given number of times using the * operator.

Both + and * operations result in a new tuple.

 # Concatenation # Output: (1, 2, 3, 4, 5, 6) print((1, 2, 3) + (4, 5, 6)) # Repeat # Output: ('Repeat', 'Repeat', 'Repeat') print(("Repeat",) * 3)

Output

 (1, 2, 3, 4, 5, 6) ('Repeat', 'Repeat', 'Repeat')

Deleting a Tuple

As discussed above, we cannot change the elements in a tuple. It means that we cannot delete or remove items from a tuple.

Deleting a tuple entirely, however, is possible using the keyword del.

 # Deleting tuples my_tuple = ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z') # can't delete items # TypeError: 'tuple' object doesn't support item deletion # del my_tuple(3) # Can delete an entire tuple del my_tuple # NameError: name 'my_tuple' is not defined print(my_tuple)

Output

 Traceback (most recent call last): File "", line 12, in NameError: name 'my_tuple' is not defined

Tuple Methods

Methods that add items or remove items are not available with tuple. Only the following two methods are available.

Some examples of Python tuple methods:

 my_tuple = ('a', 'p', 'p', 'l', 'e',) print(my_tuple.count('p')) # Output: 2 print(my_tuple.index('l')) # Output: 3

Output

 2 3

Other Tuple Operations

1. Tuple Membership Test

We can test if an item exists in a tuple or not, using the keyword in.

 # Membership test in tuple my_tuple = ('a', 'p', 'p', 'l', 'e',) # In operation print('a' in my_tuple) print('b' in my_tuple) # Not in operation print('g' not in my_tuple)

Output

 True False True

2. Iterating Through a Tuple

We can use a for loop to iterate through each item in a tuple.

 # Using a for loop to iterate through a tuple for name in ('John', 'Kate'): print("Hello", name)

Output

 Hello John Hello Kate

Advantages of Tuple over List

Since tuples are quite similar to lists, both of them are used in similar situations. However, there are certain advantages of implementing a tuple over a list. Below listed are some of the main advantages:

  • Генерално користимо корпе за хетерогене (различите) типове података и листе за хомогене (сличне) типове података.
  • Пошто су корпе непроменљиве, превлачење кроз тупле је брже него код листе. Дакле, долази до благог повећања перформанси.
  • Корице које садрже непроменљиве елементе могу се користити као кључ за речник. Са списковима, то није могуће.
  • Ако имате податке који се не мењају, њихова примена као скуп ће гарантовати да остану заштићени од уписа.

Занимљиви Чланци...