Persimpangan python dari dua daftar dengan duplikat
Adakah yang tahu bagaimana saya bisa menggunakan algoritma penggabungan yang efisien dan mengurangi jumlah perbandingan seminimal mungkin? Show
Saya memikirkan penunjuk lewati tetapi saya tidak tahu bagaimana menerapkannya kode saya sekarang Teman saya Bill sebelumnya telah memberi tahu saya tentang kerennya Python Untuk informasi lebih lanjut tentang """ NOTES: - requires Python 2.4 or greater - elements of the lists must be hashable - order of the original lists is not preserved """ def unique(a): """ return the list with duplicate elements removed """ return list(set(a)) def intersect(a, b): """ return the intersection of two lists """ return list(set(a) & set(b)) def union(a, b): """ return the union of two lists """ return list(set(a) | set(b)) if __name__ == "__main__": a = [0,1,2,0,1,2,3,4,5,6,7,8,9] b = [5,6,7,8,9,10,11,12,13,14] print unique(a) print intersect(a, b) print union(a, b)_ Hasil [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [8, 9, 5, 6, 7] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
Anda mungkin juga ingin memeriksa ini. [http. //stackoverflow. com/questions/642763/python-intersection-of-two-lists] Derek. Terima kasih. Metode saya sederhana, tetapi memiliki keterbatasan panta berkomentar pada 17-04-2011 terima kasih untuk di atas - sangat membantu. apakah Anda juga tahu solusi yang baik untuk persimpangan dan penyatuan tanpa menghilangkan duplikat sebelumnya? 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 Anda akan mempelajari beberapa metode naif untuk menemukan persimpangan antara dua daftar Python, termasuk untuk loop dan pemahaman daftar, menggunakan metode set Jawaban Cepat. Gunakan Operasi Set Python Daftar isi Menggunakan Python For Loop untuk Menemukan Persimpangan Antara Dua DaftarMenggunakan 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
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 PythonDalam banyak kasus, loop for Python dapat diubah menjadi pemahaman daftar. Manfaat melakukan ini adalah kemudahan pengkodeannya. Pemahaman daftar Python hadir dengan beberapa manfaat utama
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 _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 DaftarSet 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 Mari kita lihat seperti apa kode kita
Mari kita lihat apa yang telah kita lakukan
Di bagian selanjutnya, Anda akan mempelajari cara menggunakan operator Ingin mempelajari cara menggunakan fungsi Python _0 untuk mengulangi dua daftar? Menggunakan And Operator untuk Menemukan Persimpangan Daftar PythonPada contoh di atas, Anda telah mempelajari cara menggunakan metode set, metode Menggunakan operator ini mengevaluasi apakah item ada di kedua set dan mengembalikan item yang memenuhi kriteria Mari kita lihat seperti apa tampilannya _Dalam contoh berikutnya, Anda akan mempelajari cara menggunakan 4 untuk memeriksa item yang ada di dua daftarLihat 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 DaftarNumpy adalah pustaka bermanfaat yang menggunakan objek seperti daftar yang disebut 5. Array ini mirip dengan daftar Python tetapi memungkinkan kita untuk bekerja dengan metode array numpy. Salah satu metode ini adalah metode _6, yang memungkinkan kita untuk menemukan persimpangan antara array 1 dimensiMari kita lihat seperti apa kode ini
Mari jelajahi apa yang telah kita lakukan di sini
Perlu memeriksa apakah ada kunci dalam kamus Python? KesimpulanDalam 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 _4 untuk menemukan persimpangan antara dua daftar
Apakah persimpangan termasuk duplikat?Seperti yang diharapkan untuk digunakan dalam konteks manipulasi set, operator persimpangan menghapus duplikat . Namun, seperti operator infiks mana pun, canggung untuk digunakan dalam saluran pipa.
Bagaimana Anda memotong dua daftar dengan Python?Contoh - . # Program Python untuk mendapatkan persimpangan # dari dua daftar menggunakan set() dan persimpangan() def daftar_persimpangan(daftar1, daftar2) set pengembalian (daftar1). persimpangan (daftar2) daftar1 = [40, 90, 11, 58, 31, 66, 28, 54, 79] daftar2 = [58, 90, 54, 31, 45, 11, 66, 28, 26] cetak(intersection_list(list1, list2)) Bagaimana cara menggabungkan dua daftar dan menghapus duplikat dengan Python?Bagaimana Menggabungkan Dua Daftar Python dan Menghapus Duplikat di Daftar Kedua? . Ubah daftar pertama dan kedua menjadi satu set menggunakan set(. ) konstruktor Gunakan operasi set minus untuk mendapatkan semua elemen yang ada di daftar kedua tetapi tidak ada di daftar pertama Buat daftar baru dengan menggabungkan elemen tersebut ke daftar pertama Bisakah Anda menggunakan persimpangan untuk daftar dengan Python?Persimpangan dua daftar berarti kita perlu mengambil semua elemen yang sama untuk kedua daftar awal dan menyimpannya ke dalam daftar lain. Sekarang ada berbagai cara di Python, di mana kita dapat melakukan titik-temu daftar . |