मान लीजिए हमारे पास शब्दों की एक सूची है। ये शब्द कई बार हो सकते हैं। हमें इन शब्दों की बारंबारता दिखानी है और गिनना है कि कितने अलग-अलग शब्द हैं।
इसलिए, यदि इनपुट शब्द =["पुस्तक", "ध्वनि", "भाषा", "कंप्यूटर", "पुस्तक", "भाषा"] की तरह है, तो आउटपुट होगा (4, '2 1 2 1') क्योंकि चार अलग-अलग शब्द हैं, पहला और तीसरा शब्द दो बार आया है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- d:=इंसर्ट ऑर्डर के आधार पर आइटम्स को स्टोर करने के लिए ऑर्डर्ड डिक्ट
- शब्दों में प्रत्येक w के लिए, करें
- यदि w, d में है, तो
- d[w] :=d[w] + 1
- अन्यथा,
- d[w] :=1
- यदि w, d में है, तो
- डी में सभी चाबियों की सूची के आकार की एक जोड़ी और डी से सभी मानों को एक स्ट्रिंग में शामिल करें और फिर वापस आएं।
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें
from collections import OrderedDict
def solve(words):
d=OrderedDict()
for w in words:
if w in d:
d[w] += 1
else:
d[w] = 1
return len(d.keys()), ' '.join([str(d[k]) for k in d.keys()])
words = ["Book", "Sound", "Language", "Computer", "Book", "Language"]
print(solve(words)) इनपुट
["Book", "Sound", "Language", "Computer", "Book", "Language"]
आउटपुट
(4, '2 1 2 1')