Dalam tutorial ini, Anda akan belajar cara menggunakan Python untuk menemukan persimpangan antara dua daftar. Persimpangan berarti menemukan elemen umum antara dua daftar. Biasanya, persimpangan adalah set-based, artinya nilainya tidak terduplikasi
Anda akan mempelajari beberapa metode naif untuk menemukan persimpangan antara dua daftar Python, termasuk untuk loop dan pemahaman daftar, menggunakan metode set .intersection() dan menggunakan numpy
Jawaban Cepat. Gunakan Operasi Set Python
Daftar isi
Menggunakan Python For Loop untuk Menemukan Persimpangan Antara Dua Daftar
Menggunakan loop Python for adalah cara yang mudah dan intuitif untuk menemukan persimpangan antara dua daftar. Manfaat pemahaman di sini datang pada kinerja yang sukses dengan daftar ukuran yang jauh lebih besar
Apa yang akan kita lakukan, adalah mengulang setiap item dalam daftar dan melihat apakah itu ada di item lainnya. Jika ya, maka kami menambahkannya ke daftar baru. Jika tidak, maka kita tidak akan melakukan apa-apa
Mari kita lihat seperti apa kode ini nantinya
# Find intesection between two Python lists using a for loop list1 = ['a', 'b', 'c', 'd', 'e'] list2 = ['b', 'd', 'e', 'f', 'g'] intersection = list() for item in list1: if item in list2: intersection.append(item) print(intersection) # Returns: ['b', 'd', 'e']Di bagian selanjutnya, Anda akan belajar cara mengubah perulangan for ini menjadi pemahaman daftar Python
Ingin mempelajari lebih lanjut tentang for-loop Python? . Ingin menonton video saja?
Menggunakan Pemahaman Daftar untuk menemukan Persimpangan Antara Dua Daftar Python
Dalam banyak kasus, loop for Python dapat diubah menjadi pemahaman daftar. Manfaat melakukan ini adalah kemudahan pengkodeannya. Pemahaman daftar Python hadir dengan beberapa manfaat utama
- Anda tidak perlu membuat contoh daftar baru yang kosong
- Kode umumnya hanya mencakup satu baris, bukan beberapa baris
Pada dasarnya, algoritme yang akan kita ikuti sama dengan for loop. kami mengulang setiap item dan melihat apakah itu ada di daftar lain. Jika ya, maka kami menambahkannya ke daftar baru kami
Mari kita lihat seperti apa tampilannya di Python
# Find intesection between two Python lists using a list comprehension list1 = ['a', 'b', 'c', 'd', 'e'] list2 = ['b', 'd', 'e', 'f', 'g'] intersection = [item for item in list1 if item in list2] print(intersection) # Returns: ['b', 'd', 'e']_Mirip dengan metode for loop, saat ukuran daftar Anda bertambah, ini dapat mengalami beberapa gangguan kinerja. Di sinilah metode selanjutnya berperan. Di bagian selanjutnya, Anda akan belajar cara menggunakan metode set Python untuk menemukan persimpangan antara dua daftar
Ingin mempelajari lebih lanjut tentang pemahaman daftar Python? . Lebih dari pembelajar visual, lihat tutorial YouTube saya di sini
Menggunakan Operasi Set Python untuk menemukan Persimpangan Antara Dua Daftar
Set Python mirip dengan daftar, tetapi mereka memiliki sejumlah perbedaan utama. Saat daftar diurutkan, set tidak diurutkan;
Set juga dilengkapi dengan sejumlah metode bermanfaat. Pada contoh di bawah ini, kami akan menggunakan metode .intersection() untuk menghasilkan satu set item yang ada di antara kedua set
Mari kita lihat seperti apa kode kita
# Find intesection between two Python lists using set.intersection() list1 = ['a', 'b', 'c', 'd', 'e'] list2 = ['b', 'd', 'e', 'f', 'g'] intersection = list(set(list1).intersection(set(list2))) print(intersection) # Returns: ['b', 'd', 'e']Mari kita lihat apa yang telah kita lakukan
- Kami mengubah kedua daftar menjadi set
- Kami kemudian menerapkan metode .intersection()
- Terakhir, kami mengonversi set terakhir kembali ke daftar
Di bagian berikutnya, Anda akan mempelajari cara menggunakan operator & untuk menemukan persimpangan antara dua daftar
Ingin mempelajari cara menggunakan fungsi Python # Find intesection between two Python lists using a list comprehension list1 = ['a', 'b', 'c', 'd', 'e'] list2 = ['b', 'd', 'e', 'f', 'g'] intersection = [item for item in list1 if item in list2] print(intersection) # Returns: ['b', 'd', 'e']0 untuk mengulangi dua daftar?
Menggunakan And Operator untuk Menemukan Persimpangan Daftar Python
Pada contoh di atas, Anda telah mempelajari cara menggunakan metode set, metode .intersection(), untuk menemukan persimpangan antara dua daftar. Kita juga dapat menggunakan metode boolean, menggunakan operator &, untuk mencari irisan antara dua himpunan
Menggunakan operator ini mengevaluasi apakah item ada di kedua set dan mengembalikan item yang memenuhi kriteria
Mari kita lihat seperti apa tampilannya
# Find intesection between two Python lists using & list1 = ['a', 'b', 'c', 'd', 'e'] list2 = ['b', 'd', 'e', 'f', 'g'] intersection = list(set(list1) & set(list2)) print(intersection) # Returns: ['b', 'd', 'e']Dalam contoh berikutnya, Anda akan mempelajari cara menggunakan # Find intesection between two Python lists using a list comprehension list1 = ['a', 'b', 'c', 'd', 'e'] list2 = ['b', 'd', 'e', 'f', 'g'] intersection = [item for item in list1 if item in list2] print(intersection) # Returns: ['b', 'd', 'e']4 untuk memeriksa item yang ada di dua daftar
Lihat beberapa tutorial Python lainnya tentang datagy, termasuk panduan lengkap kami untuk menata gaya Panda dan ikhtisar komprehensif kami tentang Tabel Pivot di Panda
Menggunakan Numpy untuk Menemukan Persimpangan Antara Dua Daftar
Numpy adalah pustaka bermanfaat yang menggunakan objek seperti daftar yang disebut # Find intesection between two Python lists using a list comprehension list1 = ['a', 'b', 'c', 'd', 'e'] list2 = ['b', 'd', 'e', 'f', 'g'] intersection = [item for item in list1 if item in list2] print(intersection) # Returns: ['b', 'd', 'e']5. Array ini mirip dengan daftar Python tetapi memungkinkan kita untuk bekerja dengan metode array numpy. Salah satu metode ini adalah metode # Find intesection between two Python lists using a list comprehension list1 = ['a', 'b', 'c', 'd', 'e'] list2 = ['b', 'd', 'e', 'f', 'g'] intersection = [item for item in list1 if item in list2] print(intersection) # Returns: ['b', 'd', 'e']_6, yang memungkinkan kita untuk menemukan persimpangan antara array 1 dimensi
Mari kita lihat seperti apa kode ini
# Find intesection between two Python lists using numpy list1 = ['a', 'b', 'c', 'd', 'e'] list2 = ['b', 'd', 'e', 'f', 'g'] intersection = list(np.intersect1d(list1, list2)) print(intersection) # Returns: ['b', 'd', 'e']_Mari jelajahi apa yang telah kita lakukan di sini
- Kami meneruskan dua daftar kami ke metode # Find intesection between two Python lists using a list comprehension list1 = ['a', 'b', 'c', 'd', 'e'] list2 = ['b', 'd', 'e', 'f', 'g'] intersection = [item for item in list1 if item in list2] print(intersection) # Returns: ['b', 'd', 'e']_7
- Ini mengembalikan # Find intesection between two Python lists using a list comprehension list1 = ['a', 'b', 'c', 'd', 'e'] list2 = ['b', 'd', 'e', 'f', 'g'] intersection = [item for item in list1 if item in list2] print(intersection) # Returns: ['b', 'd', 'e']_5 yang hanya menyertakan persimpangan antara dua daftar
- Terakhir, kami mengonversi array ini kembali menjadi daftar
Perlu memeriksa apakah ada kunci dalam kamus Python?
Kesimpulan
Dalam posting ini, Anda belajar bagaimana menggunakan Python untuk menemukan persimpangan antara dua daftar. Anda belajar bahwa cara termudah untuk melakukan ini adalah dengan menggunakan operasi set Python – khususnya, menggunakan metode .intersection(). Anda juga mempelajari beberapa implementasi naif, termasuk menggunakan for loop dan daftar pemahaman. Metode ini, meskipun tidak selalu yang tercepat untuk ditulis, memungkinkan Anda memperoleh pemahaman yang kuat tentang cara kerja algoritme ini. Terakhir, Anda mempelajari cara menggunakan # Find intesection between two Python lists using a list comprehension list1 = ['a', 'b', 'c', 'd', 'e'] list2 = ['b', 'd', 'e', 'f', 'g'] intersection = [item for item in list1 if item in list2] print(intersection) # Returns: ['b', 'd', 'e']4 untuk menemukan persimpangan antara dua daftar