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
Lepaskan: 2025-01-03 17:28:40
asal
680 orang telah melayarinya

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

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

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!

sumber:php.cn
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