برنامه نویسی
[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()