paragraf = """Kendisinden söz etmeyi kötü görmek,
yasak etmek adet olmuştur;
çünkü kendinden söz etmek her zaman kendini övmek gibi görünür.
Kendini övmek ise herkesin zıddına gider;
ama kendinden söz etmeyi yasak etmek, çocuğun burnunu silecek yerde,
burnunu koparmak olur.
Bu tedbirde insan kardan çok zarar görür."""
sozluk = {}
kelimeler = set(paragraf.split())
for kelime in kelimeler:
kelime = kelime.replace(",", "").replace(".", "").replace(";", "")
sozluk.update({kelime: paragraf.count(kelime)})
print("Öncesi:", sozluk)
def bubblesort(sozluk):
yerel_sozluk = {}
j, k = 0, 0
items = list(sozluk.items())
for _ in range(len(sozluk)):
for i in range(len(sozluk)):
k = items[i][1]
if k > j and i != 0:
items[i - 1], items[i] = items[i], items[i - 1]
j = k
for key, item in items:
yerel_sozluk.update({key: item})
return yerel_sozluk
sozluk = bubblesort(sozluk)
print("Sonrası:", sozluk)
ilk_on = {key: sozluk[key] for key in list(sozluk.keys())[:10]}
print("İlk on:", ilk_on)
Öncesi: {'kardan': 1, 'görünür': 1, 'burnunu': 2, 'her': 2, 'ise': 1, 'olmuştur': 1, 'herkesin': 1, 'gibi': 1, 'kendini': 1, 'koparmak': 1, 'görmek': 1, 'söz': 3, 'yasak': 2, 'çünkü': 1, 'adet': 1, 'Kendini': 1, 'tedbirde': 1, 'zaman': 1, 'yerde': 1, 'etmeyi': 2, 'olur': 1, 'çok': 1, 'silecek': 1, 'zıddına': 1, 'etmek': 3, 'çocuğun': 1, 'zarar': 1, 'övmek': 2, 'ama': 2, 'Bu': 1, 'insan': 1, 'görür': 1, 'gider': 1, 'kendinden': 2, 'kötü': 1, 'Kendisinden': 1}
Sonrası: {'söz': 3, 'etmek': 3, 'burnunu': 2, 'her': 2, 'yasak': 2, 'etmeyi': 2, 'övmek': 2, 'ama': 2, 'kendinden': 2, 'kardan': 1, 'görünür': 1, 'ise': 1, 'olmuştur': 1, 'herkesin': 1, 'gibi': 1, 'kendini': 1, 'koparmak': 1, 'görmek': 1, 'çünkü': 1, 'adet': 1, 'Kendini': 1, 'tedbirde': 1, 'zaman': 1, 'yerde': 1, 'olur': 1, 'çok': 1, 'silecek': 1, 'zıddına': 1, 'çocuğun': 1, 'zarar': 1, 'Bu': 1, 'insan': 1, 'görür': 1, 'gider': 1, 'kötü': 1, 'Kendisinden': 1}
İlk on: {'söz': 3, 'etmek': 3, 'burnunu': 2, 'her': 2, 'yasak': 2, 'etmeyi': 2, 'övmek': 2, 'ama': 2, 'kendinden': 2, 'kardan': 1}
- set() ve split() kullanarak paragraf içerisindeki kelimeleri tekrar etmeyecek şekilde bir tuple içerisine alalım.
- Ardından count() kullanarak her bir kelimenin, paragraf içerisinde kaç kez bulunduğu bilgisini elde edelim ve bu bilgiyi bir sözlük içerisinde saklayalım.
- Sonrasında ise bubblesort yöntemi ile sözlüğü sort edelim.
- Son olarak ise sort edilen sözlüğün ilk 10 elemanını başka bir sözlüğe aktaralım.
Not: Daha önce açılan benzer bir konudaki çözümümü burada da kullandım.
Sözlüklerde sıralama - Gok_Mavisi_Anka tarafından #3