Bagaimana Mencari Persimpangan Pelbagai Senarai dalam Python?

Patricia Arquette
Lepaskan: 2024-10-21 22:04:03
asal
328 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan