Python Tuple (koos näidetega)

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.

Elementide viilutamine Pythonis

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.

Huvitavad Artiklid...