Daftar Persimpangan dengan Python

List Intersection Python



Banyak variabel objek yang ada di python untuk menyimpan berbagai tipe data. NS Daftar adalah salah satu variabel ini dan dapat menyimpan berbagai jenis data untuk kebutuhan yang berbeda. Terkadang, kita perlu menemukan item data umum, tidak umum, atau keduanya umum dan tidak umum dari beberapa daftar untuk tujuan pemrograman. Python berisi beberapa fungsi dan operator bawaan yang dapat melakukan jenis tugas ini untuk set Python. Menemukan data umum dari beberapa daftar disebut persimpangan daftar, tetapi tidak ada operator atau fungsi bawaan untuk daftar seperti kumpulan untuk menemukan item data umum dari beberapa daftar. Tutorial ini akan menunjukkan cara memotong daftar dengan Python.

Persimpangan

Sebelum memulai tutorial ini, konsep persimpangan akan dijelaskan. Di bawah ini, dua diberikan sebagai contoh:







Daftar1= [4, 7, 2. 3, 9, 6, sebelas]
Daftar2= [6, 5, 1, dua puluh, 9, 7, 4, 3]

Setelah menerapkan persimpangan, jika hasilnya disimpan dalam daftar lain, mungkin bernama List3, maka itu akan berisi data berikut.



Daftar3= [4, 6, 7, 9]

Representasi grafis dari List3 ditunjukkan di bawah ini:







Contoh 1: Daftar Berpotongan melalui Metode set()

Contoh berikut menunjukkan bagaimana Anda dapat memotong dua daftar menggunakan mengatur() metode dan & operator. Dua daftar, bernama list1 dan list2, dideklarasikan di sini. Kedua daftar ini berisi nilai numerik. Daftar ketiga dihasilkan dengan mengonversi daftar1 dan daftar 2 ke dalam set melalui set () metode dan menerapkan persimpangan dengan menggunakan & operator. Selanjutnya, nilai dari ketiga daftar tersebut dicetak.

#!/usr/bin/env python3
# Tentukan daftar1
daftar1= [22, 8, Empat. Lima, sebelas, 3. 4, 9, dua puluh, 7]
# Tentukan daftar2
daftar2= [12, 9, dua puluh, 78, 53, 8, 2, 30,31]
# Buat list3 dengan memotong list1 dan list2
daftar3= Daftar(mengatur(daftar1)&mengatur(daftar2))
# Cetak daftar1
mencetak('Nilai list1: ',daftar1)
# Cetak daftar2
mencetak('Nilai list2: ',daftar2)
# Cetak daftar3
mencetak('Nilai list3 setelah berpotongan list1 dan list2: ',daftar3)

Keluaran



Output berikut akan muncul setelah menjalankan skrip. Tiga nilai umum untuk kedua daftar. Nilai-nilai ini adalah 8, 9, dan 20, dan ditampilkan dalam konten daftar ketiga.

Contoh 2: Daftar Berpotongan melalui Metode persimpangan ()

Tidak ada metode bawaan langsung untuk objek daftar untuk mengetahui nilai perpotongan antara dua daftar. Namun, himpunan memiliki metode bawaan, bernama persimpangan() , untuk mengetahui nilai-nilai umum antara set. Fungsi khusus, bernama daftar persimpangan() , didefinisikan dalam skrip berikut untuk mengetahui nilai umum antara dua daftar. Salah satu batasan dari himpunan ini adalah hanya dapat berisi data numerik. Variabel daftar dapat berisi berbagai jenis string data, termasuk numerik, boolean, dll. Dalam skrip, daftar1 dan daftar2 berisi semua data string termasuk dan teks. Script akan mencetak semua string umum dan nilai numerik antara daftar1 dan daftar2 .

#!/usr/bin/env python3

# Tentukan fungsi untuk mengembalikan persimpangan dua daftar
defberpotonganDaftar(daftar1,daftar2):
kembali mengatur(daftar1).persimpangan(daftar2)

# Tentukan daftar1
daftar1= ['Halo','7','8','10','2']
# Tentukan daftar2
daftar2= ['8','3. 4','Halo','2','dua puluh satu','1',10]
''' Panggil fungsi kustom untuk menyimpan
hasil persimpangan list1 dan list2
ke dalam daftar3'''

daftar3=berpotonganDaftar(daftar1,daftar2)
# Cetak daftar1
mencetak('Nilai list1: ',daftar1)
# Cetak daftar2
mencetak('Nilai list2: ',daftar2)
# Cetak daftar3
mencetak('Nilai list3 setelah berpotongan list1 dan list2: ',daftar3)

Keluaran

Output berikut akan muncul setelah menjalankan skrip. Di sini, nilai umum antara dua daftar adalah '2', '8', dan 'Halo.'

Contoh 3: Daftar Berpotongan melalui Metode loop

Dua contoh sebelumnya menunjukkan persimpangan daftar menggunakan fungsi bawaan. Contoh berikut menunjukkan persimpangan daftar tanpa fungsi bawaan. Ini dapat dicapai dengan menggunakan loop. Dua daftar data teks dideklarasikan dalam skrip. NS untuk loop digunakan di sini untuk mengetahui nilai teks umum antara daftar1 dan daftar2, dan yang disimpan dalam variabel, daftar3 . Selanjutnya, nilai dari ketiga variabel daftar ini dicetak.

#!/usr/bin/env python3

# Tentukan daftar1
daftar1= ['Farhan','Abir','Akash','Meena','Mazher']
# Tentukan daftar2
daftar2= ['Meena','Moyna','Nobel','Lebih dekat','Abir','Farheen']
# Temukan persimpangan menggunakan for loop dan simpan hasilnya ke dalam list3
daftar3= [nilaiuntuknilaidi dalamdaftar1jikanilaidi dalamdaftar2]

# Cetak daftar1
mencetak('Nilai list1: ',daftar1)
# Cetak daftar2
mencetak('Nilai list2: ',daftar2)
# Cetak daftar3
mencetak('Nilai list3 setelah berpotongan list1 dan list2: ',daftar3)

Keluaran

Output berikut akan muncul setelah menjalankan skrip. Di sini, nilai teks umum dari dua daftar adalah 'Abir' dan 'Meena.'

Contoh 4: Perpotongan Daftar Sederhana Dan Bersarang melalui Metode filter()

Contoh berikut menunjukkan persimpangan antara daftar sederhana dan daftar bersarang. NS Saring() metode dan lambda fungsi yang digunakan dalam skrip untuk melakukan persimpangan antara list1 dan list2. Bila daftar berisi satu atau beberapa daftar sebagai item daftar, maka daftar tersebut disebut daftar bersarang. Di Sini, daftar1 adalah daftar sederhana, dan daftar2 adalah daftar bersarang, sementara daftar3 mengandung nilai perpotongan dari daftar1 dan daftar2 .

#!/usr/bin/env python3

# Tentukan daftar sederhana
daftar1= [22, 8, Empat. Lima, sebelas, 3. 4, 9, dua puluh, 7]
# Tentukan daftar bersarang
daftar2= [[12, 9, dua puluh], [78, sebelas, 53, 8], [2, 30, 31, Empat. Lima]]
# Buat list3 dengan memotong list1 dan list2 menggunakan filter()
daftar3= [Daftar(Saring(lambdan: ndi dalamdaftar1,celah)) untukcelahdi dalamdaftar2]

# Cetak daftar1
mencetak('Nilai list1: ',daftar1)
# Cetak daftar2
mencetak('Nilai list2: ',daftar2)
# Cetak daftar3
mencetak('Nilai list3 setelah berpotongan list1 dan list2: ',daftar3)

Keluaran

Output berikut akan muncul setelah menjalankan skrip. Variabel list2 berisi tiga daftar lain sebagai item daftar. Jadi, hasilnya menunjukkan perpotongan antara ketiga sub-daftar list2 ini dengan list1.

Kesimpulan

Perpotongan daftar adalah cara yang berguna untuk menemukan nilai umum di antara daftar yang berisi sejumlah besar item daftar. Metode untuk melakukan perpotongan daftar dengan dan tanpa fungsi bawaan ditunjukkan dalam tutorial ini. Setelah membaca artikel ini, konsep persimpangan daftar harus jelas, dan Anda harus dapat menerapkan persimpangan daftar di skrip Anda dengan mengikuti cara apa pun yang ditunjukkan dalam tutorial ini.