Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengira Frekuensi Unsur dengan Cekap dalam Senarai Python Tidak Tertib?

Bagaimana untuk Mengira Frekuensi Unsur dengan Cekap dalam Senarai Python Tidak Tertib?

Linda Hamilton
Linda Hamiltonasal
2025-01-03 17:28:40713semak imbas

How to Efficiently Count Element Frequencies in an Unordered Python List?

Mendapatkan Kekerapan Unsur dalam Senarai Tidak Tertib

Pertimbangkan senarai tidak tertib seperti a = [5, 1, 2, 2, 4, 3, 1, 2, 3, 1, 1, 5, 2]. Matlamatnya adalah untuk menentukan kekerapan setiap nilai unik dalam senarai. Output yang diingini adalah serupa dengan b = [4, 4, 2, 1, 2], menunjukkan bahawa nilai 1 muncul empat kali, 2 muncul empat kali, 3 muncul dua kali, 4 muncul sekali dan 5 muncul dua kali.

Dalam Python, penyelesaian yang mudah untuk tugas ini ialah menggunakan koleksi.Kelas kaunter. Dalam Python 2.7 dan lebih baru, kelas ini memudahkan proses mengira kejadian unsur dalam koleksi tidak tertib:

import collections

a = [5, 1, 2, 2, 4, 3, 1, 2, 3, 1, 1, 5, 2]
counter = collections.Counter(a)

Koleksi.Objek pembilang, pembilang, memegang kiraan setiap nilai unik dalam senarai a . Anda boleh mengakses kiraan menggunakan pelbagai kaedah:

  • counter.values(): Mengembalikan senarai yang mengandungi kiraan setiap nilai unik.
  • counter.keys(): Mengembalikan senarai mengandungi nilai unik dalam senarai.
  • counter.most_common(n): Mengembalikan senarai tupel yang mengandungi n paling banyak nilai yang kerap berlaku dan kiraannya.
  • dict(counter): Menukar objek Counter ke dalam kamus biasa dengan kunci sebagai nilai unik dan nilai sebagai kiraannya.

Untuk mendapatkan kiraan dalam susunan yang dinyatakan dalam soalan, anda boleh mengulangi kekunci dalam susunan yang disusun:

[counter[x] for x in sorted(counter.keys())]

Jika anda menggunakan Python 2.6 atau lebih awal, anda boleh memuat turun pelaksanaan koleksi. Kaunter daripada pautan yang disediakan dan gunakannya dalam kod anda.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Frekuensi Unsur dengan Cekap dalam Senarai Python Tidak Tertib?. 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