Selles artiklis saate teada kõike Pythoni korpuste kohta. Täpsemalt öeldes, mis on paarid, kuidas neid luua, millal neid kasutada ja milliseid erinevaid meetodeid peaksite tundma.
Video: Pythoni loendid ja tuples
Pythonis olev tupel sarnaneb loendiga. Nende kahe erinevus seisneb selles, et me ei saa pärast selle määramist dupleksi elemente muuta, samas kui loendi elemente.
Tuple loomine
Korraldus luuakse kõigi üksuste (elementide) paigutamisega sulgudesse ()
komadega eraldatuna. Sulgud on valikulised, kuid nende kasutamine on hea tava.
Tuplis võib olla suvaline arv üksusi ja need võivad olla erinevat tüüpi (täisarv, ujuk, loend, string jne).
# 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)
Väljund
() (1, 2, 3) (1, „Tere”, 3.4) („hiir”, (8, 4, 6), (1, 2, 3))
Ühtlasi saab luua ka ilma sulgudeta. Seda tuntakse kui topeltpakendit.
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
Väljund
(3, 4.6, 'koer') 3 4.6 koer
Ühe elemendiga tupeli loomine on natuke keeruline.
Ühe elemendi olemasolust sulgudes ei piisa. Vajame lõpukoma, mis näitab, et see on tegelikult kahekordne.
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)) #
Väljund
Juurdepääs Tuple Elementsile
Kahe elemendi juurde pääsemiseks on erinevaid viise.
1. Indekseerimine
Indeksioperaatori abil saame kasutada ()
üksust üksuses kahes, kus indeks algab 0-st.
Niisiis, 6 elementi sisaldava dupleksi indeksid on vahemikus 0 kuni 5. Kui proovite juurde pääseda indeksile, mis asub väljaspool dupleksiindeksi vahemikku (selles näites 6,7, …), tõuseb IndexError
.
Indeks peab olema täisarv, seega ei saa me kasutada ujukit ega muid tüüpe. Selle tulemuseks on TypeError
.
Sarnaselt ligipääsetakse pesastatud rühmadele pesastatud indekseerimise abil, nagu on näidatud allpool toodud näites.
# 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
Väljund
punktid 4
2. Negatiivne indekseerimine
Python lubab oma järjestuste negatiivset indekseerimist.
Indeks -1 viitab viimasele üksusele, -2 teisele viimasele üksusele ja nii edasi.
# 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))
Väljund
tp
3. Viilutamine
Viiruseoperaatori kooloni abil pääseme juurde mitmele üksusele :
.
# 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(:))
Väljund
('r', 'o', 'g') ('p', 'r') ('i', 'z') ('p', 'r', 'o', 'g', 'r "," a "," m "," i "," z ")
Viilutamist saab kõige paremini visualiseerida, pidades indeksit allpool näidatud elementide vahel. Nii et kui soovime juurdepääsu vahemikule, vajame indeksit, mis lõikab osa dupleksist.

Tuple vahetamine
Erinevalt loenditest on rühmad muutumatud.
See tähendab, et dupleksi elemente ei saa pärast nende määramist muuta. Kuid kui element on ise muudetav andmetüüp nagu loend, saab selle sisestatud üksusi muuta.
Samuti võime erinevatele väärtustele määrata dupleksi (ümberpaigutamine).
# 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)
Väljund
(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:
- Heterogeensete (erinevate) andmetüüpide jaoks kasutame koondvorme ja homogeensete (sarnaste) andmetüüpide loendeid.
- Kuna rühmad on muutumatud, on ituuleerimine läbi dupleksi kiirem kui loendis. Seega on väike jõudluse tõus.
- Muutumatuid elemente sisaldavaid laineid saab kasutada sõnastiku võtmena. Nimekirjade puhul pole see võimalik.
- Kui teil on andmeid, mis ei muutu, tagab nende rakendamine dupleksina kirjutuskaitsega.