Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengira Frekuensi Unsur dengan Cekap dalam Senarai Python?

Bagaimanakah Saya Boleh Mengira Frekuensi Unsur dengan Cekap dalam Senarai Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-08 03:23:16825semak imbas

How Can I Efficiently Count Element Frequencies in a Python List?

Mengira Kekerapan Elemen dalam Senarai Tidak Tertib

Memandangkan senarai nilai yang tidak tertib, menentukan kekerapan setiap elemen ialah tugas pengaturcaraan biasa. Panduan ini menerangkan cara untuk mencapai ini menggunakan collections.Modul pembilang dalam Python.

Penyelesaian Menggunakan koleksi.Pembilang

Dalam Python 2.7 atau lebih baru, modul collections.Counter menyediakan cara pengiraan yang cekap kejadian unsur. Dengan hanya menghantar senarai anda sebagai hujah kepada pembina Kaunter, anda boleh mendapatkan objek seperti kamus yang memetakan setiap elemen unik kepada kiraannya.

import collections

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

Kini, anda boleh menggunakan objek Counter untuk mendapatkan semula kekerapan setiap elemen. Berikut ialah beberapa operasi biasa:

  • Dapatkan kiraan sebagai senarai: Gunakan counter.values() untuk mendapatkan senarai kiraan.
  • Dapatkan elemen unik sebagai senarai: Gunakan counter.keys() untuk mendapatkan senarai unik elemen.
  • Dapatkan elemen yang paling biasa: Gunakan counter.most_common(n) untuk mendapatkan senarai n elemen yang paling biasa.
  • Dapatkan kamus daripada kiraan: Gunakan dict(counter) untuk menukar Counter kepada biasa kamus.
  • Dapatkan kiraan dalam susunan yang diisih: Gunakan pemahaman senarai dan diisih(counter.keys()) untuk mendapatkan senarai kiraan dalam susunan yang sama seperti senarai asal.
[counter[x] for x in sorted(counter.keys())]

Pertimbangan Keserasian

Jika anda menggunakan Python 2.6 atau lebih lama, anda perlu memuat turun dan memasang pelaksanaan Kaunter yang tersedia dalam talian.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Frekuensi Unsur dengan Cekap dalam Senarai 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