Python Academy · Pelajaran

Counter

Kira item dengan mudah

Pelajaran 1 daripada 413 langkah

Counter ialah pelajaran Python Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Python Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Python Academy merangkumi sejumlah 4 pelajaran.

Apakah itu kaunter

Counter ialah subkelas kamus daripada modul collections yang dibina untuk mengira. Anda memberikannya item, lalu ia mengira berapa kali setiap item muncul.

Importnya dengan from collections import Counter.

from collections import Counter
c = Counter(['a', 'b', 'a', 'c', 'a'])
print(c)

Mengira aksara

Berikan sebarang objek boleh lelar, termasuk rentetan, dan Counter akan mengira setiap elemen. Rentetan dikira aksara demi aksara.

from collections import Counter
c = Counter('mississippi')
print(c)

Mencari kiraan

Akses kiraan seperti Anda mengakses kunci kamus. Kunci yang tiada mengembalikan 0 dan bukannya menimbulkan KeyError — perbezaan yang berguna berbanding kamus biasa.

from collections import Counter
c = Counter('banana')
print(c['a'])
print(c['z'])

Item paling kerap

.most_common(n) mengembalikan n item teratas sebagai pasangan (item, kiraan), diisih daripada yang paling kerap kepada yang paling kurang kerap.

from collections import Counter
words = ['red', 'blue', 'red', 'green', 'blue', 'red']
c = Counter(words)
print(c.most_common(2))

Semua item mengikut kekerapan

Panggil .most_common() tanpa argumen untuk mendapatkan setiap item yang disusun mengikut kekerapan.

from collections import Counter
c = Counter('aabbbcccc')
print(c.most_common())

Mengemas kini kiraan

Kaedah .update() menambah kiraan daripada objek boleh lelar yang lain, bukannya menggantikannya seperti yang dilakukan oleh kamus biasa.

from collections import Counter
c = Counter(['a', 'b'])
c.update(['a', 'a', 'c'])
print(c)

Mengira daripada kamus

Anda juga boleh membina Counter secara terus daripada pemetaan item kepada kiraan, atau menggunakan argumen kata kunci.

from collections import Counter
c = Counter(apples=3, pears=2)
print(c)
print(c['apples'])

Menambah dua kaunter

Operator + menggabungkan dua Counter dengan menjumlahkan kunci yang sepadan. Item yang jumlahnya sifar atau negatif akan digugurkan.

from collections import Counter
a = Counter(x=2, y=1)
b = Counter(x=1, z=4)
print(a + b)

Menolak kiraan

Operator - menolak kiraan dan hanya mengekalkan hasil yang positif. Gunakan .subtract() jika Anda mahu membenarkan nilai negatif.

from collections import Counter
a = Counter(x=5, y=2)
b = Counter(x=3, y=4)
print(a - b)

Jumlah semua kiraan

Jumlahkan setiap kiraan dengan sum(c.values()). Ini memberitahu Anda jumlah keseluruhan item yang dikira.

from collections import Counter
c = Counter('mississippi')
print('Total letters:', sum(c.values()))

Menyenaraikan elemen

.elements() mengembalikan lelaran yang mengulangi setiap elemen mengikut bilangannya. Balutkannya dalam list() untuk melihat semuanya.

from collections import Counter
c = Counter(a=2, b=1, c=3)
print(sorted(c.elements()))

Semakan Pantas

Diberi c = Counter('hello'), apakah yang dikembalikan oleh c['x']?

Rumusan: Kaunter

Anda telah mempelajari bahawa Counter:

  • Mengira item daripada sebarang objek boleh lelar, termasuk rentetan.
  • Mengembalikan 0 untuk kunci yang tiada dan bukannya menghasilkan ralat.
  • Menyediakan .most_common(n) untuk menyusun kedudukan item mengikut kekerapan.
  • Menyokong +, -, .update() dan .elements() untuk kerja pengiraan.
from collections import Counter
votes = ['yes', 'no', 'yes', 'yes', 'no']
print(Counter(votes).most_common(1))
Percuma untuk bermula

Pelajari Python dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
76
Pelajaran
320

Soalan Lazim

Adakah pelajaran “Counter” percuma?

Ya — teks penuh “Counter” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Python Academy, tingkat taraf kepada CoddyKit PRO. Kursus Python Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Counter”?

Kira item dengan mudah Anda berlatih Python Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Python Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Python Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Counter” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Counter
  2. defaultdict
  3. deque
  4. namedtuple dan OrderedDict
← Kembali ke Python Academy