Himpunan Python: Operasi, Metode & Teori Himpunan
Kumpulan master dengan Python. Pelajari cara menyimpan nilai unik, mengeksekusi persimpangan, penyatuan, perbedaan, dan memahami manfaat kinerja hashing.
Ikhtisar
Set adalah kumpulan elemen unik yang tidak berurutan dengan Python. Kumpulan dibuat berdasarkan tabel hash, yang membuatnya sangat optimal untuk pengujian keanggotaan—menentukan apakah elemen tertentu ada di dalam koleksi. Saat memeriksa apakah suatu item ada dalam daftar memerlukan pemindaian setiap item (operasi `O(N)`), pemeriksaan keanggotaan dalam suatu set berjalan dalam waktu konstan `O(1)`. Hal ini membuat set menjadi sangat kuat untuk penghapusan duplikat dan pemfilteran data massal.
Set diinisialisasi menggunakan kurung kurawal `{}` yang berisi nilai (tanpa titik dua) atau dengan menggunakan konstruktor `set()` bawaan. Perhatikan bahwa karena kurung kurawal juga digunakan untuk kamus, menulis kurung kurawal kosong `{}` akan menginisialisasi kamus kosong. Untuk menginisialisasi set kosong, Anda harus menggunakan `set()`. Elemen di dalam suatu himpunan harus dapat di-hash dan tidak dapat diubah, yang berarti Anda dapat menyimpan angka, string, dan tupel, namun Anda tidak dapat menyimpan daftar atau kamus di dalam suatu himpunan.
Di luar metode penambahan dan penghapusan dasar, set Python secara asli mendukung operasi dari Teori Himpunan matematika. Ini termasuk Union (`|` atau `.union()`) untuk menggabungkan koleksi, Intersection (`&` atau `.intersection()`) untuk menemukan elemen umum, Difference (`-` atau `.difference()`) untuk menemukan elemen unik pada satu koleksi, dan Perbedaan Simetris (`^`) untuk mengambil item di salah satu set tetapi tidak keduanya. Menguasai set memungkinkan Anda memecahkan masalah pengelompokan yang kompleks dengan kode yang bersih, berperforma tinggi, dan mudah dibaca.
Kode & Output Eksekusi
Menghapus duplikat dari daftar dan melakukan operasi himpunan matematika.
# Removing duplicates
roles_list = ["admin", "user", "editor", "admin", "user"]
# Sort the set to guarantee deterministic printed output
unique_roles = sorted(list(set(roles_list)))
print(f"Unique roles: {unique_roles}")
# Set operations
dev_skills = {"python", "javascript", "sql"}
ops_skills = {"sql", "docker", "kubernetes"}
# Union and Intersection (sorted for deterministic output)
all_skills = sorted(list(dev_skills | ops_skills))
common_skills = sorted(list(dev_skills & ops_skills))
unique_to_dev = sorted(list(dev_skills - ops_skills))
print(f"Union: {all_skills}")
print(f"Intersection: {common_skills}")
print(f"Dev only: {unique_to_dev}")Unique roles: ['admin', 'editor', 'user']
Union: ['docker', 'javascript', 'kubernetes', 'python', 'sql']
Intersection: ['sql']
Dev only: ['javascript', 'python']Implementasi Langkah demi Langkah
- Menghapus entri duplikat dari hasil API atau file CSV
- Menentukan elemen umum antara dua database
- Melakukan operasi pencarian cepat pada daftar ID besar
Pertanyaan yang Sering Diajukan
Apakah unsur-unsur dalam suatu himpunan terurut?
Tidak, set tidak berurutan. Anda tidak dapat mengakses elemen berdasarkan indeks (seperti set[0]) atau mengirisnya.
Bagaimana cara menambah atau menghapus elemen dalam satu set?
Gunakan metode .add() untuk menyisipkan satu elemen, dan .remove() atau .discard() untuk menghapus satu elemen. .discard() lebih aman karena tidak menimbulkan kesalahan jika elemennya hilang.
Topik Terkait
Pelajari segala sesuatu tentang daftar Python. Temukan cara membuat, mengiris, memodifikasi, dan melakukan iterasi melalui array dengan Python secara asli.
Kamus PythonKamus Master Python. Pelajari cara menyimpan, mengambil, dan menangani data pasangan nilai kunci. Memahami kinerja dan praktik terbaik untuk pemetaan.
Tupel PythonPahami tupel Python. Pelajari kapan menggunakan tuple di atas daftar, cara kerja tuple unpacking, dan bagaimana kekekalan menjamin keamanan data.
Sumber Daya Python yang Direkomendasikan
Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.
Cara Mengurutkan Daftar dengan Python
Pelajari cara mengurutkan daftar dengan Python menggunakan metode sortir() dan fungsi sortir(). Temukan contoh pengurutan kunci khusus dan urutan terbalik.
Lembar
Panduan referensi lengkap untuk manipulasi string Python. Kuasai pemformatan, pencarian, pemisahan, penggantian, dan pemeriksaan properti string.
Python vs JavaScript: Bahasa Pemrograman Mana yang Terbaik?
Perbandingan komprehensif antara Python dan JavaScript. Jelajahi perbedaan sintaksis, kinerja, kasus penggunaan (backend vs frontend), dan contoh pengkodean.