Koleksi Data · Pelajaran 5 dari 11
Tuple dan set
8 menit baca · BelajarCode
Tuple
Tuple mirip list, tetapi isinya tidak bisa diubah setelah dibuat. Tuple ditulis dengan tanda kurung biasa.
1koordinat = (-6.2, 106.8)2lintang, bujur = koordinat3print(lintang, bujur)4print(len(koordinat))-6.2 106.8 2
Kapan memakai tuple?
- Data yang memang tidak seharusnya berubah, misalnya koordinat atau tanggal lahir.
- Mengembalikan beberapa nilai dari fungsi.
- Kunci dictionary, karena kunci harus tidak bisa diubah.
1jarak = {("Jakarta", "Bandung"): 150, ("Surabaya", "Malang"): 95}2print(jarak[("Surabaya", "Malang")])95
Set
Set adalah kumpulan nilai yang unik dan tidak berurutan. Set sangat cepat untuk memeriksa keanggotaan.
1hadir = ["Andi", "Bela", "Andi", "Citra", "Bela"]2unik = set(hadir)3print(len(hadir), len(unik))4print("Citra" in unik)5print(sorted(unik))5 3 True ['Andi', 'Bela', 'Citra']
Isi set tidak punya urutan tertentu, jadi pakai sorted jika ingin menampilkannya urut.
Operasi himpunan
1robotik = {"Andi", "Bela", "Dimas", "Eka"}2musik = {"Bela", "Citra", "Eka", "Fajar"}3print("Ikut keduanya:", sorted(robotik & musik))4print("Ikut salah satu:", sorted(robotik | musik))5print("Hanya robotik:", sorted(robotik - musik))6print("Tepat satu saja:", sorted(robotik ^ musik))Ikut keduanya: ['Bela', 'Eka'] Ikut salah satu: ['Andi', 'Bela', 'Citra', 'Dimas', 'Eka', 'Fajar'] Hanya robotik: ['Andi', 'Dimas'] Tepat satu saja: ['Andi', 'Citra', 'Dimas', 'Fajar']
Operator & adalah irisan, garis tegak adalah gabungan, - adalah selisih, dan ^ adalah selisih simetris (anggota yang hanya ada di salah satu).
| Koleksi | Berurutan? | Bisa diubah? | Boleh ada yang sama? | Contoh pemakaian |
|---|---|---|---|---|
| list | Ya | Ya | Ya | Daftar nilai, antrean tugas |
| tuple | Ya | Tidak | Ya | Koordinat, nilai kembali fungsi |
| set | Tidak | Ya | Tidak | Daftar unik, operasi himpunan |
| dict | Ya, sesuai urutan dimasukkan | Ya | Kunci harus unik | Data dengan nama, misalnya nilai per siswa |
Cek pemahaman
Apa hasil len({1, 2, 2, 3, 3, 3})?
Latihan
Siswa yang belum mengumpulkan
Daftar siswa kelas: Andi, Bela, Citra, Dimas, Eka. Yang sudah mengumpulkan tugas: Eka, Andi, Citra, Andi. Dengan set, tampilkan siswa yang belum mengumpulkan secara urut abjad.
Pembahasan
1kelas = {"Andi", "Bela", "Citra", "Dimas", "Eka"}2mengumpulkan = {"Eka", "Andi", "Citra", "Andi"}3belum = kelas - mengumpulkan4print("Belum mengumpulkan:", sorted(belum))Belum mengumpulkan: ['Bela', 'Dimas']
Nama Andi yang tercatat dua kali otomatis menjadi satu di dalam set.
Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Python online.