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:
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!