Python

Senaraikan Persimpangan di Python

Senaraikan Persimpangan di Python
Banyak pemboleh ubah objek terdapat di python untuk menyimpan pelbagai jenis data. The senarai adalah salah satu pemboleh ubah ini dan dapat menyimpan pelbagai jenis data untuk keperluan yang berbeza. Kadang kala, kita perlu mencari item data biasa, tidak biasa, atau kedua-duanya yang biasa dan tidak biasa dari pelbagai senarai untuk tujuan pengaturcaraan. Python mengandungi beberapa fungsi dan operator terbina dalam yang dapat melakukan jenis tugas ini untuk set Python. Mencari data umum dari beberapa senarai disebut persimpangan senarai, tetapi tidak ada pengendali atau fungsi bawaan untuk senarai seperti set untuk mencari item data umum dari beberapa senarai. Tutorial ini akan menunjukkan kepada anda cara memotong senarai di Python.

Persimpangan

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

Senarai1 = [4, 7, 23, 9, 6, 11]
Senarai2 = [6, 5, 1, 20, 9, 7, 4, 3]

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

Senarai3 = [4, 6, 7, 9]

Gambaran grafik List3 ditunjukkan di bawah:

Contoh 1: Menyilang Daftar melalui kaedah set ()

Contoh berikut menunjukkan bagaimana anda dapat memotong dua senarai menggunakan tetapkan () kaedah dan & pengendali. Dua senarai, dinamakan list1 dan list2, dinyatakan di sini. Kedua-dua senarai ini mengandungi nilai berangka. Senarai ketiga dihasilkan dengan menukar senarai1 dan senarai 2 ke dalam set melalui set() kaedah dan mengaplikasikan persilangan dengan menggunakan & pengendali. Seterusnya, nilai tiga senarai dicetak.

#!/ usr / bin / env python3
# Tentukan senarai1
senarai1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Tentukan senarai2
senarai2 = [12, 9, 20, 78, 53, 8, 2, 30,31]
# Buat senarai3 dengan memotong senarai1 dan senarai2
list3 = senarai (set (list1) & set (list2))
# Cetak senarai1
cetak ("Nilai senarai1: \ n", senarai1)
# Cetak senarai2
cetak ("Nilai senarai2: \ n", senarai2)
# Senarai cetak3
cetak ("Nilai list3 setelah memotong senarai1 dan senarai2: \ n", senarai3)

Pengeluaran

Output berikut akan muncul setelah menjalankan skrip. Tiga nilai adalah biasa bagi kedua-dua senarai. Nilai-nilai ini adalah 8, 9, dan 20, dan ditunjukkan dalam kandungan senarai ketiga.

Contoh 2: Senarai Persilangan melalui Kaedah persimpangan ()

Tidak ada kaedah langsung, bawaan untuk objek senarai untuk mengetahui nilai persimpangan antara dua senarai. Walau bagaimanapun, set ini mempunyai kaedah terbina dalam, yang dinamakan persimpangan (), untuk mengetahui nilai sepunya antara set. Fungsi tersuai, dinamakan Senarai persimpangan (), ditakrifkan dalam skrip berikut untuk mengetahui nilai sepunya antara dua senarai tersebut. Satu batasan dari set ini adalah bahawa ia hanya boleh mengandungi data berangka. Pemboleh ubah senarai boleh mengandungi pelbagai jenis rentetan data, termasuk angka, boolean, dll. Dalam skrip, senarai1 dan senarai2 mengandungi semua data rentetan termasuk dan teks. Skrip akan mencetak semua rentetan umum dan nilai numerik antara senarai1 dan senarai2.

#!/ usr / bin / env python3
 
# Tentukan fungsi untuk mengembalikan persimpangan dua senarai
def intersectLists (senarai1, senarai2):
set pengembalian (senarai1).persimpangan (senarai2)
 
# Tentukan senarai1
list1 = ['Hello', '7', '8', '10', '2']
# Tentukan senarai2
list2 = ['8', '34', 'Hello', '2', '21', '1', 10]
"Panggil fungsi khusus untuk menyimpan
hasil persimpangan senarai1 dan senarai2
ke dalam senarai3 "
list3 = intersectLists (senarai1, senarai2)
# Cetak senarai1
cetak ("Nilai senarai1: \ n", senarai1)
# Cetak senarai2
cetak ("Nilai senarai2: \ n", senarai2)
# Senarai cetak3
cetak ("Nilai list3 setelah memotong senarai1 dan senarai2: \ n", senarai3)

Pengeluaran

Output berikut akan muncul setelah menjalankan skrip. Di sini, nilai sepunya antara dua senarai adalah '2', '8', dan 'Hello.'

Contoh 3: Menyenaraikan Senarai melalui kaedah gelung

Dua contoh sebelumnya menunjukkan persimpangan senarai menggunakan fungsi terbina dalam. Contoh berikut menunjukkan persimpangan senarai tanpa fungsi terbina dalam. Ini dapat dicapai dengan menggunakan gelung. Dua senarai data teks dinyatakan dalam skrip. The untuk gelung digunakan di sini untuk mengetahui nilai teks biasa antara senarai1 dan senarai2, dan yang disimpan dalam pemboleh ubah, senarai3. Seterusnya, nilai ketiga pemboleh ubah senarai dicetak.

#!/ usr / bin / env python3
 
# Tentukan senarai1
list1 = ['Farhan', 'Abir', 'Akash', 'Meena', 'Mazher']
# Tentukan senarai2
list2 = ['Meena', 'Moyna', 'Nobel', 'Naher', 'Abir', 'Farheen']
# Cari persimpangan menggunakan loop dan simpan hasilnya ke dalam senarai3
list3 = [nilai untuk nilai dalam list1 jika nilai dalam senarai2]
 
# Cetak senarai1
cetak ("Nilai senarai1: \ n", senarai1)
# Cetak senarai2
cetak ("Nilai senarai2: \ n", senarai2)
# Cetak senarai3
cetak ("Nilai list3 setelah memotong senarai1 dan senarai2: \ n", senarai3)

Pengeluaran

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

Contoh 4: Menyenaraikan Senarai Mudah dan Bersarang melalui kaedah penapis ()

Contoh berikut menunjukkan persimpangan antara senarai mudah dan senarai bersarang. The penapis () kaedah dan lambda fungsi digunakan dalam skrip untuk melakukan persimpangan antara list1 dan list2. Apabila senarai mengandungi satu atau lebih senarai sebagai item senarai, maka senarai itu disebut senarai bersarang. Di sini, senarai1 adalah senarai ringkas, dan senarai2 adalah senarai bersarang, sementara senarai3 mengandungi nilai persilangan dari senarai1 dan senarai2.

#!/ usr / bin / env python3
 
# Tentukan senarai ringkas
senarai1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Tentukan senarai bersarang
senarai2 = [[12, 9, 20], [78, 11, 53, 8], [2, 30, 31, 45]]
# Buat senarai3 dengan memotong senarai1 dan senarai2 menggunakan penapis ()
list3 = [list (filter (lambda n: n dalam list1, slist)) untuk slist dalam list2]
 
# Cetak senarai1
cetak ("Nilai senarai1: \ n", senarai1)
# Cetak senarai2
cetak ("Nilai senarai2: \ n", senarai2)
# Cetak senarai3
cetak ("Nilai list3 setelah memotong senarai1 dan senarai2: \ n", senarai3)

Pengeluaran

Output berikut akan muncul setelah menjalankan skrip. Pemboleh ubah list2 mengandungi tiga senarai lain sebagai item senarai. Jadi, hasilnya menunjukkan persimpangan antara ketiga sub-senarai list2 dengan list1.

Kesimpulannya

Persimpangan senarai adalah cara yang berguna untuk mencari nilai umum antara senarai yang mengandungi sebilangan besar item senarai. Kaedah untuk melakukan persimpangan senarai dengan dan tanpa fungsi terbina dalam ditunjukkan dalam tutorial ini. Setelah membaca artikel ini, konsep persimpangan senarai harus jelas, dan anda seharusnya dapat menerapkan persimpangan senarai dalam skrip anda dengan mengikuti cara yang ditunjukkan dalam tutorial ini.

Cara Meningkatkan FPS di Linux?
FPS bermaksud Bingkai sesaat. Tugas FPS adalah mengukur kadar bingkai dalam pemutaran video atau persembahan permainan. Dengan kata mudah bilangan gam...
Permainan Makmal Apl Oculus Teratas
Sekiranya anda adalah pemilik alat dengar Oculus, maka anda mesti mengetahui tentang memuatkan sideload. Sideloading adalah proses memasang kandungan ...
10 Permainan Teratas untuk Dimainkan di Ubuntu
Platform Windows telah menjadi salah satu platform dominan untuk permainan kerana peratusan besar permainan yang sedang berkembang hari ini untuk meny...