Tuple
Tuple ialah senarai yang tidak boleh diubah. Tuple tidak boleh diubah suai dalam apa cara sekalipun setelah ia dibuat.
Mengapa tupel diperlukan?
- Dalam hal melindungi sebarang data daripada perubahan (sengaja atau tidak sengaja).
- Tuples menggunakan lebih sedikit ruang memori dan lebih pantas daripada senarai.
- Untuk mengembalikan berbilang nilai daripada fungsi.
- Tuples boleh digunakan sebagai kunci kamus (lebih lanjut mengenainya kemudian).
Mencipta tupel
1 cara: seperti senarai, tetapi dengan kurungan
1
2
3
|
a = (1,2,3,4,5)
cetak(jenis(a)) # kelas 'tuple'
cetak(a) # (1, 2, 3, 4, 5)
|
2 cara: menggunakan fungsi tuple()
1
2
3
|
b = tupel((1,2,3,4,5))
cetak(jenis(b)) # <kelas 'tuple'>
cetak(b) # (1, 2, 3, 4, 5)
|
Anda perlu ingat!
- Tuples ialah senarai yang tidak boleh diubah.
- Unsur tuple boleh terdiri daripada jenis yang berbeza.
- Anda boleh membuat tuple menggunakan fungsi
tuple() atau dengan menyenaraikan elemen dalam kurungan.
|
Ciri Tuple
1) Anda boleh menetapkan nilai kepada tuple tanpa menggunakan kurungan/
Sebagai contoh, anda boleh membuat tupel seperti ini:
1
2
3
|
a = 1,2,3,4,5
print(a[3]) # 4 Satu elemen tupel boleh diakses dengan cara yang sama seperti elemen senarai,
# dengan menyatakan indeks unsur dalam kurungan segi empat sama.
|
2) Untuk mengisytiharkan tuple yang merangkumi satu elemen tunggal, anda perlu menggunakan koma di belakang:
1
2
3
4
|
a = 'a'
b = 'b',
print(jenis(b)) # <kelas 'tuple'>
print(jenis(a)) # <kelas 'str'>
|
3) Anda boleh menetapkan nilai elemen tuple kepada pembolehubah individu:
1
2
3
|
my_tuple = (1, 2, 3, 4, 5)
a, b, c, d, e = my_tuple
cetak(c) #3
|
Garis bawah _ boleh digunakan sebagai pembolehubah yang tidak diperlukan
1
2
3
|
my_tuple = (1, 2, 3)
a, _, _ = my_tuple
cetak(a) #1
|
Bilangan pembolehubah mesti sepadan dengan nombor unsur-unsur tupel!
4) Tuple boleh mengandungi pelbagai elemen bersarang. Dalam kes ini, apabila merujuk kepada elemen bersarang, anda mesti menggunakan kurungan segi empat sama tambahan
1
2
|
my_tuple = (('a', 'b', 'c'), [1, 2], ((1, 'a' ), ('b', 'c')))
print(my_tuple[2][1]) # ('b', 'c')
|
|
Merujuk kepada elemen. Tuple Bersarang
Tuple boleh mengandungi tupel lain sebagai elemen. Selain itu, senarai, rentetan, dsb. boleh digunakan sebagai unsur tupel.
Mengakses elemen adalah serupa dengan mengakses elemen senarai, menentukan indeks elemen dalam kurungan segi empat sama. Pengindeksan bermula dari sifar.
Apabila merujuk kepada elemen bersarang, kurungan persegi tambahan mesti digunakan.
my_tuple = (('a', 'b', 'c'), [1, 2], ((1, 'a' ), ('b', 'c')))
print(my_tuple[2][1]) # ('b', 'c')
|
Membandingkan tupel
Apabila membandingkan tupel:
- nombor dibandingkan mengikut nilai;
- rentetan dalam susunan leksikografi;
- dalam kes kesamaan unsur dalam kedudukan yang sama, elemen berikut dibandingkan;
- perbandingan unsur akan berlaku sehingga ketaksamaan pertama;
- apabila membandingkan, elemen mesti dibuang ke jenis yang sama (anda tidak boleh membandingkan nombor dan rentetan).
Contoh
1
2
3
4
5
6
7
8
9
10
sebelas
12
|
A=4
B=8
C = 'a',
D = 'z',
E = (14, 'maksimum', 'minimum')
F = (14, 'maksimum', 'min')
K=999
cetak(A < B) # Benar
cetak(C < D) # Benar
cetak(E > F) # Benar
cetak(K < F) # Salah
cetak(C < K) # TypeError: '<' tidak disokong
# antara kejadian 'str' dan 'int'
|
|
Kepingan
Menghiris boleh dilakukan sama seperti senarai.
Perlu diingat bahawa dengan mengambil elemen mengikut indeks atau mengikut keping ( slice ), kami tidak menukar tuple dalam apa jua cara, kami hanya menyalin sebahagian daripadanya untuk kegunaan selanjutnya (contohnya, untuk mencetak , beberapa pengiraan, dsb. .p.).
Slice syntax
my_tuple[start:stop:step] # mula, berhenti dan langkah
|
Penggabungan Tuple
Ia adalah mungkin untuk menggabungkan tupel untuk mencipta objek baharu (penggabungan, serupa dengan rentetan).
1
2
3
4
|
x = (1,2,3,4)
y = (5,6,7,8)
z = x + y
print(z) # (1, 2, 3, 4, 5, 6, 7, 8)
|
Semasa operasi pendaraban, tupel diulang beberapa kali (serupa dengan pendaraban rentetan).
1
2
3
|
x = (1,2,3,4)
z = x*2
print(z) # (1, 2, 3, 4, 1, 2, 3, 4)
|
Mengalih keluar tuple
Operasi dan kaedah Tuple adalah serupa dengan operasi dan kaedah senarai. Kecuali bagi mereka yang menukar unsur tuple.
Unsur yang terkandung dalam tuple tidak boleh ditambah atau dialih keluar kerana ketidakbolehubahannya. Walau bagaimanapun, tupel itu sendiri boleh dipadamkan menggunakan pengendali del .
1
2
|
pelajar = (2007, 'Ivan', 'Ivanov', '9-A', Palsu)
del pelajar
|
|
Kaedah untuk bekerja dengan tupel
Kaedah untuk bekerja dengan tupel adalah serupa dengan kaedah untuk bekerja dengan senarai, kecuali kaedah yang mengubah tuple. Kaedah sedemikian tidak tersedia kerana ketidakbolehubah tuple. Mereka boleh digunakan dengan mencipta tupel baharu.
Contoh isihan Tuple
Anda boleh mengisih tuple dengan mudah menggunakan fungsi sorted() .
1
2
3
4
|
a = (5, 3, 2, 1, 4)
cetak(diisih(a)) # [1, 2, 3, 4, 5]
a = tupel(diisih(a))
cetak(a) # (1, 2, 3, 4, 5)
|
Ambil perhatian bahawa kaedah seperti append() , extend() , remove() TIDAK berfungsi dengan tupel dan pop() .
|