Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Mencari Persimpangan Pelbagai Senarai dalam Python?

Bagaimana Mencari Persimpangan Pelbagai Senarai dalam Python?

Patricia Arquette
Patricia Arquetteasal
2024-10-21 22:04:03365semak imbas

How to Find the Intersection of Multiple Lists in Python?

Python: Bersilang Berbilang Senarai

Apabila bekerja dengan berbilang senarai, mencari elemen sepunya mereka boleh menjadi operasi yang berharga. Walaupun Python menyediakan fungsi yang mudah untuk menyilang dua senarai (set(a).intersection(b)), tugasan menjadi lebih kompleks sedikit apabila berurusan dengan lebih daripada dua senarai.

Mari kita pertimbangkan senario di mana kita mempunyai senarai senarai d yang mengandungi beberapa senarai (dalam contoh anda, d = [[1,2,3,4], [2,3,4], [3,4,5,6,7]]). Untuk mencari persilangan semua senarai dalam d, kita boleh memanfaatkan operasi set Python dan fungsi terbina dalam.

Satu pendekatan ialah menggunakan kaedah set.intersection() berulang kali. Walau bagaimanapun, kaedah ini hanya beroperasi pada dua set pada satu masa, jadi kita perlu menerapkannya secara berulang. Begini cara kami boleh melakukannya:

<code class="python">intersection = set(d[0])
for lst in d[1:]:
    intersection = intersection.intersection(set(lst))

print(intersection)  # Outputs: {3, 4}</code>

Satu lagi penyelesaian ringkas dan cekap menggunakan operator * Python dan fungsi map():

<code class="python">intersection = set.intersection(*map(set, d))

print(intersection)  # Outputs: {3, 4}</code>

Dalam penyelesaian ini, kami menggunakan peta( ) berfungsi untuk menukar setiap senarai dalam d menjadi set. Operator * kemudian membongkar jujukan set ini ke dalam argumen set.intersection(), membolehkan kami mencari persilangan semua set secara serentak.

Kedua-dua pendekatan ini mencari persilangan berbilang senarai yang disimpan dengan berkesan dalam senarai senarai. Dengan memanfaatkan operasi set Python, kami boleh mengenal pasti elemen biasa dengan mudah antara sebarang bilangan senarai.

Atas ialah kandungan terperinci Bagaimana Mencari Persimpangan Pelbagai Senarai dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn