2021-02-20 15:04:04
Hər kəsə salam. Bu həftə çox məşğul idim. Təəssüf ki paylaşım etməyə heç vaxtım yox idi :( Amma bundan sonra tez-tez marağlı paylaşımlar etməyə çalışacam. Başlayaq!
Cavab: "amet lorem"
İzahı:
Kodun bu hissəsi bizə mətni qəbul edən və iki söz əks etdirən bir növ proqram göstərir. Bunlar mətndə ən çox rast gələn və ən uzun sözlərdir.
1.
text.split() - burada
split() metodu
text dəyişənindəki mətni bölərək onu siyahı halına gətirir. Yəni
words dəyişənində aşağıdakı siyahı olacaq:
['lorem', 'ipsum', 'dolor', 'sit', 'amet', 'amet', 'amet']
2.
counter = collections.Counter(words) - bu sətirdə
import(idxal) edilən
collections modulunun
Counter() metodundan istifadə olunub. collections.Counter() - dəyişməyən obyektlərin (əksər hallarda sətirlərin) miqdarını saymağa imkan verən lüğət növüdür.
counter dəyişəninin tərkibində
Counter({'amet': 3, 'lorem': 1, 'ipsum': 1, 'dolor': 1, 'sit': 1}) olacaq. Yəni
Counter() metodu
words siyahısında hər sözün neçə dəfə təkrar olduğunu hesablayır.
3.
most_common, occurrences = counter.most_common()[0] - burada
most_common(n) metodu ən çox rast gəlinən(çoxdan aza sıralıyaraq) giriş dəyərləri və onların müvafiq sayğaclarının
n ardıcıllığını əldə etmək üçün istifadə olunur. Və ən çox rast gəlinən dəyəri çıxarmaq üçün 0 indeksindən istifadə olunur. Yəni
counter.most_common()[0] bunu qaytaracaq: ('amet', 3). Kodda
'amet' dəyəri
most_common və
3 (yəni mətində bu sözün miqdarı)
occurences dəyişənlərində olacaq.
Beləliklə,
ən çox rast gəlinən sözü tapdıq: amet
4. İndi isə ən uzun sözü axtaraq. Bunun üçün
max() funksiyasından istifadə edə bilərik.
Sintaksisi:
max(iterable[, default=obj, key=func])
max () funksiyası iterasiya olunan obyektin
ən böyük elementini geri qaytarır. Əgər
max () funksiyasına arqument ötürülürsə, ən böyük elementi axtarmazdan əvvəl bu funksiya iterasiya olunan obyektin hər elementinə tətbiq olunur. Əgər iterasiya olunan obyekt boş olarsa və
default = dəyər arqumenti varsa, o zaman onun dəyəri geri qaytarılır. Əgər
default = dəyər arqumenti yoxdursa, istisna
ValueError qaytarır.
longest = max(words, key=len) - burada
max() metodunun daxilində
key=len arqumentindən istifadə edərək
words siyahısından ən uzun sözü tapa bilərik. Qeyd, əgər
key=len arqumentini istifadə etməsəydik, bu halda
"sit" qaytarılacaqdı, yəni ingilis əlifbası sırasına görə ən böyük(ən axırdakı) söz.
#brainstorm #python
@azedevway
216 viewsedited 12:04