Python Tuple (Dengan Contoh)

Dalam artikel ini, anda akan mempelajari segala-galanya mengenai tupel Python. Lebih khusus lagi, apa itu tupel, bagaimana membuatnya, kapan menggunakannya dan pelbagai kaedah yang semestinya anda sudah biasa.

Video: Senarai dan Python Python

Tuple di Python serupa dengan senarai. Perbezaan antara keduanya adalah bahawa kita tidak dapat mengubah elemen tuple setelah ditetapkan sedangkan kita dapat mengubah elemen daftar.

Membuat Tuple

Tuple dibuat dengan meletakkan semua item (elemen) di dalam kurungan (), dipisahkan dengan koma. Tanda kurung adalah pilihan, bagaimanapun, adalah amalan yang baik untuk menggunakannya.

Tuple dapat memiliki sejumlah item dan mereka mungkin berlainan jenis (bilangan bulat, float, list, string, dll.).

 # 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)

Pengeluaran

 () (1, 2, 3) (1, 'Hello', 3.4) ('tetikus', (8, 4, 6), (1, 2, 3))

Tuple juga boleh dibuat tanpa menggunakan tanda kurung. Ini dikenali sebagai pembungkusan tuple.

 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

Pengeluaran

 (3, 4.6, 'anjing') 3 4.6 anjing

Membuat tuple dengan satu elemen agak sukar.

Tidak mempunyai satu elemen dalam kurungan tidak mencukupi. Kita akan memerlukan koma akhir untuk menunjukkan bahawa sebenarnya, adalah tuple.

 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)) # 

Pengeluaran

 

Akses Elemen Tuple

Terdapat pelbagai cara di mana kita dapat mengakses elemen tuple.

1. Pengindeksan

Kita dapat menggunakan operator indeks ()untuk mengakses item dalam tuple, di mana indeks bermula dari 0.

Jadi, tuple yang mempunyai 6 elemen akan mempunyai indeks dari 0 hingga 5. Mencuba untuk mengakses indeks di luar julat indeks tuple (6,7,… dalam contoh ini) akan menaikkan IndexError.

Indeks mesti berupa bilangan bulat, jadi kami tidak dapat menggunakan apungan atau jenis lain. Ini akan mengakibatkan TypeError.

Begitu juga, tupel bersarang diakses menggunakan pengindeksan bersarang, seperti yang ditunjukkan dalam contoh di bawah.

 # 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

Pengeluaran

 mata 4

2. Pengindeksan Negatif

Python membenarkan pengindeksan negatif untuk urutannya.

Indeks -1 merujuk kepada item terakhir, -2 ke item terakhir kedua dan seterusnya.

 # 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))

Pengeluaran

 tp

3. Menghiris

Kita dapat mengakses pelbagai item dalam tuple dengan menggunakan titik operasi operator :.

 # 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(:))

Pengeluaran

 ('r', 'o', 'g') ('p', 'r') ('i', 'z') ('p', 'r', 'o', 'g', 'r ',' a ',' m ',' i ',' z ')

Potongan dapat digambarkan dengan baik dengan mempertimbangkan indeks berada di antara elemen seperti yang ditunjukkan di bawah. Oleh itu, jika kita ingin mengakses jarak, kita memerlukan indeks yang akan memotong bahagian dari tuple.

Pemotongan Elemen di Python

Mengubah Tuple

Tidak seperti senarai, tupel tidak berubah.

Ini bermaksud bahawa elemen tuple tidak dapat diubah setelah mereka diberikan. Tetapi, jika elemen itu sendiri adalah jenis data yang boleh berubah seperti senarai, item bersarangnya dapat diubah.

Kami juga dapat menetapkan tuple ke nilai yang berbeza (penugasan semula).

 # 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)

Pengeluaran

 (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:

  • Kami secara amnya menggunakan tuple untuk jenis data heterogen (berbeza) dan senarai untuk jenis data homogen (serupa).
  • Oleh kerana tupel tidak dapat diubah, iterasi melalui tuple lebih cepat daripada dengan senarai. Jadi ada sedikit peningkatan prestasi.
  • Tuples yang mengandungi unsur-unsur yang tidak berubah dapat dijadikan kunci kamus. Dengan senarai, ini tidak mungkin dilakukan.
  • Sekiranya anda mempunyai data yang tidak berubah, menerapkannya sebagai tuple akan menjamin bahawa ia tetap dilindungi tulis.

Artikel menarik...