برنامه نویسی
[python] شمارش کلمات در یک متن
![[python] شمارش کلمات در یک متن [python] شمارش کلمات در یک متن](https://i1.wp.com/media.dev.to/cdn-cgi/image/width=1000,height=500,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frce68h6r74ovp927re6r.png?w=780&resize=780,470&ssl=1)
من اخیراً یک خط تک خطی برای شمارش کلمات یک متن در پایتون کشف کردم:
text = "Tags help people find your post - think of them as the topics or categories that best describe your post."
from collections import Counter
words = Counter(text)[" "] #19
به بیان دقیق تر، این تعداد فاصله ها را محاسبه می کند (" ") در یک متن
علاوه بر این، Counter یک مار پیتون است mapping که الف را ایجاد می کند dict که در آن کلیدها هر حرف یکتا از یک متن هستند و مقادیر مربوطه تعداد دفعات آن حرف است.
آ mapping ظرفی قابل تکرار با طول ثابت است. این یعنی سه چیز (بر این اساس):
- شما می توانید از طریق آیتم های آن حلقه بزنید
- با استفاده از آن می توانید وجود یک مورد را بررسی کنید
inکلمه کلیدی (مثلا"x" in words) -
len(words)یک عدد صحیح برمی گرداند
به عبارت دیگر، با این روش های dunder همراه است (باز هم بر این اساس):
-
__getitem__(): می تواند با استفاده از آیتم دسترسی داشته باشدdct["key"]نشانه گذاری -
__iter__(): یک شی تکرار کننده را برای استفاده در a برمی گرداندforحلقه -
__len__(): رفتار را تعریف می کندlen()



