Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Mencari Elemen Paling Biasa dalam Senarai Python, Walaupun Ia Tidak Boleh Hash?

Bagaimana Mencari Elemen Paling Biasa dalam Senarai Python, Walaupun Ia Tidak Boleh Hash?

Linda Hamilton
Linda Hamiltonasal
2024-12-02 12:12:14211semak imbas

How to Find the Most Common Element in a Python List, Even If They're Not Hashable?

Mencari Elemen Paling Lazim dalam Senarai Python

Dalam Python, mengenal pasti elemen yang paling kerap berlaku dalam senarai ialah tugas pengaturcaraan biasa . Walau bagaimanapun, ia menjadi satu cabaran apabila elemen tidak boleh dicincang, menghalang penggunaan kamus.

Penyelesaian

Satu penyelesaian yang cekap melibatkan penggunaan fungsi maksimum dengan kunci tersuai . Fungsi maks biasanya membandingkan elemen berdasarkan sifat intrinsiknya, tetapi kita boleh mentakrifkan semula gelagat ini dengan menyediakan kunci tersuai untuk memudahkan perbandingan berdasarkan kekerapan elemen.

Berikut ialah pelaksanaan ringkas dalam Python:

def most_common(lst):
    return max(set(lst), key=lst.count)

Penyelesaian ini mula-mula mencipta set daripada senarai input, yang secara automatik menghapuskan pendua sambil mengekalkan susunan elemen. Kemudian, fungsi maks digunakan pada set ini, menggunakan kaedah lst.count sebagai kunci. Kaedah lst.count mengembalikan bilangan kejadian setiap elemen dalam senarai asal. Dengan menggunakan kaedah ini sebagai kunci, fungsi maks secara berkesan menyusun elemen berdasarkan frekuensinya.

Jika berlaku ikatan, fungsi maks akan memilih elemen dengan indeks terendah dalam senarai asal. Tingkah laku ini memastikan bahawa, dalam contoh yang diberikan, most_common(['duck', 'duck', 'goose']) akan mengembalikan 'duck' dengan betul.

Penyelesaian ini menawarkan cara yang mudah dan cekap untuk mencari elemen yang paling biasa dalam senarai Python, walaupun elemen tersebut tidak boleh dicincang.

Atas ialah kandungan terperinci Bagaimana Mencari Elemen Paling Biasa dalam Senarai Python, Walaupun Ia Tidak Boleh Hash?. 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