Python Tuple (Dengan Contoh)

Pada artikel ini, Anda akan mempelajari segala sesuatu tentang tupel Python. Lebih khusus lagi, apa itu tupel, cara membuatnya, kapan menggunakannya, dan berbagai metode yang harus Anda ketahui.

Video: Daftar Python dan Tupel

Tupel dengan Python mirip dengan list. Perbedaan antara keduanya adalah kita tidak dapat mengubah elemen tupel setelah ditetapkan sedangkan kita dapat mengubah elemen daftar.

Membuat Tuple

Sebuah tupel dibuat dengan menempatkan semua item (elemen) di dalam tanda kurung (), dipisahkan dengan koma. Tanda kurung bersifat opsional, namun praktik yang baik adalah menggunakannya.

Sebuah tupel dapat memiliki sejumlah item dan mereka mungkin memiliki tipe yang berbeda (integer, 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)

Keluaran

 () (1, 2, 3) (1, 'Halo', 3.4) ('mouse', (8, 4, 6), (1, 2, 3))

Tupel juga dapat dibuat tanpa menggunakan tanda kurung. Ini dikenal sebagai pengepakan tupel.

 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

Keluaran

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

Membuat tupel dengan satu elemen agak rumit.

Memiliki satu elemen di dalam tanda kurung tidaklah cukup. Kita akan membutuhkan tanda koma untuk menunjukkan bahwa sebenarnya itu adalah tupel.

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

Keluaran

 

Akses Elemen Tuple

Ada berbagai cara untuk mengakses elemen tupel.

1. Pengindeksan

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

Jadi, tupel yang memiliki 6 elemen akan memiliki indeks dari 0 hingga 5. Mencoba mengakses indeks di luar rentang indeks tupel (6,7,… dalam contoh ini) akan memunculkan IndexError.

Indeks harus berupa bilangan bulat, jadi kita tidak dapat menggunakan float atau tipe lainnya. Ini akan menghasilkan TypeError.

Demikian pula, tupel bersarang diakses menggunakan pengindeksan bersarang, seperti yang ditunjukkan pada contoh di bawah ini.

 # 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

Keluaran

 poin 4

2. Pengindeksan Negatif

Python memungkinkan pengindeksan negatif untuk urutannya.

Indeks -1 mengacu ke item terakhir, -2 untuk 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))

Keluaran

 tp

3. Mengiris

Kita dapat mengakses berbagai item dalam tupel dengan menggunakan titik dua operator pengiris :.

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

Keluaran

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

Pemotongan dapat paling baik divisualisasikan dengan mempertimbangkan indeks berada di antara elemen-elemen seperti yang ditunjukkan di bawah ini. Jadi jika kita ingin mengakses suatu range, kita membutuhkan indeks yang akan memotong bagian dari tuple tersebut.

Mengiris Elemen dengan Python

Mengubah Tuple a

Tidak seperti daftar, tupel tidak dapat diubah.

Ini berarti bahwa elemen tupel tidak dapat diubah setelah ditetapkan. Tapi, jika elemen itu sendiri adalah tipe data yang bisa berubah seperti daftar, item bersarangnya bisa diubah.

Kami juga dapat menetapkan tupel ke nilai yang berbeda (penugasan ulang).

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

Keluaran

 (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 biasanya menggunakan tupel untuk tipe data heterogen (berbeda) dan daftar untuk tipe data homogen (serupa).
  • Karena tupel tidak dapat diubah, iterasi melalui tupel lebih cepat daripada dengan daftar. Jadi ada sedikit peningkatan performa.
  • Tupel yang berisi elemen yang tidak dapat diubah dapat digunakan sebagai kunci untuk kamus. Dengan daftar, ini tidak mungkin.
  • Jika Anda memiliki data yang tidak berubah, mengimplementasikannya sebagai tuple akan menjamin bahwa data tersebut tetap dilindungi dari penulisan.

Artikel yang menarik...