Dalam artikel minggu lalu, Anda telah mempelajari tentang Python set
A = {'Python', 'JavaScript', 'PHP'}
B = {'Java', 'Python', 'Ruby'}
print[f"A ∩ B = {A.intersection[B]}"]
9. Sekarang kita akan menjelajahi fungsi set lain yang umum digunakan. Persimpangan set Python memungkinkan Anda menemukan elemen umum antara dua set atau lebih. Ini memiliki banyak aplikasi yang berguna, seperti menemukan keterampilan umum di antara pelamar kerjaHari ini Anda akan mempelajari semua yang ada tentang persimpangan set Python. Anda akan siap menggunakannya dengan percaya diri setelah membaca artikelnya
Bagian terbaik?
Persimpangan Set Python - Dasar-Dasar
Jadi, apa itu persimpangan set Python? . Anda akan mendapatkan pemahaman lengkap tentang definisi, sintaks, dan mengembalikan nilai melalui contoh visual
Definisi dan penggunaan
Set fungsi persimpangan mengembalikan elemen umum dari dua atau lebih set. Misalnya, saya suka membuat kode dengan Python, JavaScript, dan PHP, dan Anda menggunakan Java, Python, dan Ruby. Kami berdua memiliki kesamaan Python. Kami akan bekerja dengan dua set di seluruh artikel hanya untuk menjaga hal-hal sederhana, tetapi logika yang sama berlaku ketika memotong lebih banyak dari mereka
Lihatlah dua set berikut
Menghitung persimpangan antara set ini berarti kita akan mendapatkan set baru dengan satu elemen - Python. Mengapa?
Persimpangan yang ditetapkan dalam Python biasanya direpresentasikan dengan diagram Venn. Inilah tampilannya
Hanya Python yang umum untuk kedua set, jadi saya telah menyoroti area persimpangan dengan warna biru
Apa yang dilakukan metode persimpangan di Python dan bagaimana Anda menemukan persimpangan antar set?
Sintaksis
# Intersection of two sets
set1.intersection[set2]
# Intersection between multiple sets
set1.intersection[set2, set3]
_Di mana
0 - Iterable untuk menemukan persimpangan dariA ∩ B = {'Python'}
1,A ∩ B = {'Python'}
2 - Himpunan lain digunakan untuk menghitung persimpanganA ∩ B = {'Python'}
Nilai pengembalian
Fungsi persimpangan mengembalikan set baru yang merupakan persimpangan antara set pertama dan semua set lainnya yang diteruskan sebagai argumen - tetapi hanya jika set atau objek yang dapat diulang diteruskan ke fungsi
Jika tidak ada argumen yang diteruskan ke fungsi
A ∩ B = {'Python'}
_3, salinan set dikembalikanContoh Fungsi Set Persimpangan Python
Kami akan mendeklarasikan dua set, seperti pada Gambar 1
_4. Berisi Python, JavaScript, dan PHPA ∩ B = {'Python'}
5. Berisi Java, Python, dan RubyA ∩ B = {'Python'}
Hanya Python yang ada di kedua set, jadi menghitung persimpangan harus mengembalikan set baru dengan Python sebagai satu-satunya elemen
A = {'Python', 'JavaScript', 'PHP'}
B = {'Java', 'Python', 'Ruby'}
print[f"A ∩ B = {A.intersection[B]}"]
Keluaran
A ∩ B = {'Python'}
Jika Anda tidak menentukan parameter apa pun ke fungsi persimpangan, salinan dari himpunan akan dikembalikan
print[f"A ∩ / = {A.intersection[]}"]
Keluaran
A ∩ / = {'JavaScript', 'PHP', 'Python'}
Anda dapat memverifikasi itu disalin dengan mencetak alamat memori
A = {'Python', 'JavaScript', 'PHP'}
A_copy = A.intersection[]
print[hex[id[A]]]
print[hex[id[A_copy]]]
Keluaran
0x108c68e40
0x108da5ac0
Anda tidak akan melihat nilai yang identik, dan bukan itu intinya. Hal yang penting adalah keduanya berbeda, menunjukkan bahwa set telah disalin ke alamat memori yang berbeda
Salah satu pertanyaan umum adalah bagaimana menemukan titik temu dari dua daftar, jadi mari kita jawab sekarang
Bagaimana menemukan persimpangan dua daftar dengan Python?
List adalah tipe data paling populer di Python - ini digunakan bahkan dalam kasus di mana terdapat struktur data yang lebih baik. Ada banyak cara Anda menemukan persimpangan dua daftar. Kami akan membahas dua
6 - Dengan menggunakan pemahaman daftarA ∩ B = {'Python'}
7 - Dengan mengonversi satu daftar menjadi satu setA ∩ B = {'Python'}
def list_intersection[l1: list, l2: list] -> list:
return [val for val in l1 if val in l2]
def list_intersection2[l1: list, l2: list] -> list:
return list[set[l1].intersection[l2]]
A = ['Python', 'JavaScript', 'PHP']
B = ['Java', 'Python', 'Ruby']
print[f"A ∩ B v1 = {list_intersection[A, B]}"]
print[f"A ∩ B v2 = {list_intersection2[A, B]}"]
Keluaran
A ∩ B v1 = ['Python']
A ∩ B v2 = ['Python']
Set Persimpangan Python Menggunakan & Operator
Anda tidak perlu memanggil fungsi
A ∩ B = {'Python'}
_3 setiap saat. Anda dapat menggunakan operator A ∩ B = {'Python'}
_9 sebagai gantinyaA = {'Python', 'JavaScript', 'PHP'}
B = {'Java', 'Python', 'Ruby'}
print[f"A ∩ B = {A & B}"]
Keluaran
A ∩ B = {'Python'}
Segala sesuatu yang lain tetap sama. Ingatlah bahwa kedua operan harus bertipe set agar operator
A ∩ B = {'Python'}
9 dapat bekerjaPython Menyetel Kesalahan Umum Persimpangan
Anda mungkin mengalami kesalahan saat pertama kali mulai bekerja dengan set. Ini umum, tetapi biasanya mudah di-debug
AttributeError. 'daftar' tidak memiliki persimpangan atribut
Ini adalah kesalahan paling umum dan terjadi saat Anda memanggil fungsi
A ∩ B = {'Python'}
3 pada tipe data yang salah. Hanya set yang memiliki fungsi ini di dalamnyaIni contohnya - pengecualian dimunculkan saat Anda menggunakan daftar
A = {'Python', 'JavaScript', 'PHP'}
B = {'Java', 'Python', 'Ruby'}
print[f"A ∩ B = {A.intersection[B]}"]
_1Keluaran
Pastikan keduanya dari jenis yang ditetapkan dan Anda akan baik-baik saja
TypeError. jenis operan yang tidak didukung untuk &. 'set' dan 'daftar'
Kesalahan ini terjadi saat Anda mencoba menggunakan notasi steno [tanda
A ∩ B = {'Python'}
9] pada tipe data yang tidak valid. Kedua operan harus bertipe set agar notasi steno berfungsi. Ini sebuah contohA = {'Python', 'JavaScript', 'PHP'}
B = {'Java', 'Python', 'Ruby'}
print[f"A ∩ B = {A.intersection[B]}"]
_2Keluaran
Seperti yang Anda lihat, A adalah himpunan dan B adalah daftar, jadi tanda
A ∩ B = {'Python'}
9 tidak berfungsiFAQ Set Persimpangan Python
Kami sekarang akan membahas beberapa pertanyaan umum [FAQ] mengenai fungsi persimpangan set Python
Tetapkan persimpangan vs. Pembaruan persimpangan - Apa bedanya?
Fungsi
print[f"A ∩ / = {A.intersection[]}"]
_4 menghapus item yang tidak ditemukan di kedua set [atau beberapa set]. Fungsi ini berbeda dari fungsi A ∩ B = {'Python'}
_3, karena menghapus elemen yang tidak diinginkan dari set asli dan tidak mengembalikan apa punA = {'Python', 'JavaScript', 'PHP'}
B = {'Java', 'Python', 'Ruby'}
print[f"A ∩ B = {A.intersection[B]}"]
_3Keluaran
A = {'Python', 'JavaScript', 'PHP'}
B = {'Java', 'Python', 'Ruby'}
print[f"A ∩ B = {A.intersection[B]}"]
_4Apa kebalikan dari persimpangan set Python?
Kebalikan dari persimpangan set Python adalah perbedaan simetris - semua elemen yang muncul hanya di set pertama atau kedua, tetapi tidak di keduanya
A = {'Python', 'JavaScript', 'PHP'}
B = {'Java', 'Python', 'Ruby'}
print[f"A ∩ B = {A.intersection[B]}"]
5Keluaran
A = {'Python', 'JavaScript', 'PHP'}
B = {'Java', 'Python', 'Ruby'}
print[f"A ∩ B = {A.intersection[B]}"]
_6Anda dapat menghitung selisih simetris menggunakan operator
print[f"A ∩ / = {A.intersection[]}"]
6A = {'Python', 'JavaScript', 'PHP'}
B = {'Java', 'Python', 'Ruby'}
print[f"A ∩ B = {A.intersection[B]}"]
_7Keluaran
A = {'Python', 'JavaScript', 'PHP'}
B = {'Java', 'Python', 'Ruby'}
print[f"A ∩ B = {A.intersection[B]}"]
_6Berapa kompleksitas waktu dari persimpangan set di Python?
Kompleksitas waktu persimpangan himpunan di Python pada himpunan dengan n elemen dan argumen himpunan dengan elemen m adalah O[min[n, m]] karena Anda perlu memeriksa himpunan yang lebih kecil apakah setiap elemennya adalah anggota dari . Memeriksa keanggotaan adalah O[1], menurut finxter. com
Kesimpulan
Persimpangan set Python sangat mudah dipahami. Kami mempelajari intuisi dan definisi dengan contoh visual dan membangun cara kami untuk memahami penggunaan lebih lanjut dan kesalahan umum yang akan Anda temui. Kami juga menjawab beberapa pertanyaan yang sering diajukan
Saya harap artikel ini membantu Anda mengembangkan pemahaman yang lebih baik tentang fungsi persimpangan set Python. Seperti biasa, jika Anda memiliki pertanyaan atau komentar, jangan ragu untuk bertanya di bagian komentar di bawah. Selamat mengkode