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

Bagaimanakah Saya Boleh Mengira Kekerapan Unsur dengan Cekap dalam Senarai Tidak Tertib?

Susan Sarandon
Susan Sarandonasal
2024-12-25 15:45:18690semak imbas

How Can I Efficiently Count Element Frequencies in an Unordered List?

Mengira Kekerapan Elemen dalam Senarai Tidak Tertib

Dilema pengaturcaraan ini mencari penyelesaian untuk mengira kekerapan elemen dalam senarai tidak tertib. Memandangkan senarai nilai, matlamatnya adalah untuk menentukan kiraan setiap elemen berbeza yang muncul dalam senarai.

Pelaksanaan Python Menggunakan Collections.Counter

Untuk versi Python 2.7 dan ke atas, kaedah mudah untuk mengira frekuensi elemen adalah dengan menggunakan koleksi. Kelas kaunter. Begini cara anda boleh memanfaatkan Kaunter untuk menangani masalah:

import collections

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

# Extract the frequencies in the desired order
frequencies = [counter[x] for x in sorted(counter.keys())]

Pendekatan ini menghasilkan senarai frekuensi [4, 4, 2, 1, 2], sepadan dengan kiraan setiap elemen unik dalam asal senarai (a), iaitu, 4 kejadian 1, 4 daripada 2, 2 daripada 3, 1 daripada 4, dan 2 daripada 5.

Pertimbangan untuk Versi Python Sebelum 2.7

Jika menggunakan Python 2.6 atau lebih awal, memuat turun pelaksanaan luaran Counter ialah laluan alternatif. Pelaksanaan sedemikian tersedia dalam talian.

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