Bagaimana Mencari Elemen Bersilang dalam Pelbagai Senarai Python dengan Cekap?

Patricia Arquette
Lepaskan: 2024-10-21 22:03:31
asal
1005 orang telah melayarinya

How to Find Intersecting Elements in Multiple Python Lists Efficiently?

Mengenal pasti Elemen Dikongsi dalam Pelbagai Senarai Python

Dalam Python, mengekstrak persilangan dua senarai boleh dicapai menggunakan fungsi set.intersection(). Walau bagaimanapun, menentukan persilangan berbilang senarai menjadi lebih kompleks. Berikut ialah penyelesaian untuk mengenal pasti elemen yang dikongsi dengan cekap antara beberapa senarai:

Formula yang disediakan dalam jawapan, set.intersection(*map(set,d)), menawarkan cara yang ringkas dan berprestasi untuk mencari persimpangan antara berbilang senarai. Mari kita pecahkan komponennya:

  • d mewakili senarai senarai, dengan setiap elemen itu sendiri adalah senarai.
  • peta(set, d) menukar setiap senarai dalaman dalam d kepada a set, mengalih keluar elemen pendua dengan berkesan.
  • * membongkar tuple yang dijana oleh peta untuk menghantar setiap set sebagai parameter berasingan kepada set.intersection().

Dengan merantai operasi ini bersama-sama, kita memperoleh persilangan semua set (pada mulanya senarai) yang terkandung dalam senarai d. Dalam contoh yang diberikan:

<code class="python">d = [[1,2,3,4], [2,3,4], [3,4,5,6,7]]</code>
Salin selepas log masuk

Kod set.intersection(*map(set,d)) akan menghasilkan hasil yang diingini:

<code class="python">[3, 4]</code>
Salin selepas log masuk

Pendekatan ini memanfaatkan kecekapan tetapkan struktur data untuk menghapuskan pendua dengan cepat sambil mengekalkan susunan elemen yang dikongsi.

Atas ialah kandungan terperinci Bagaimana Mencari Elemen Bersilang dalam Pelbagai Senarai Python dengan Cekap?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!