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.

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.