From 2f161179b65bc83fbef53175bc890f0d0c97f023 Mon Sep 17 00:00:00 2001 From: Markus Opolka <markus@martialblog.de> Date: Wed, 24 May 2017 16:16:25 +0200 Subject: [PATCH] Add sorted --- aufgabe3/freq_dict.py | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/aufgabe3/freq_dict.py b/aufgabe3/freq_dict.py index de9ccf6..ba9e0ee 100755 --- a/aufgabe3/freq_dict.py +++ b/aufgabe3/freq_dict.py @@ -1,5 +1,39 @@ #!/usr/bin/env python3 +import collections + +def create_freq_dict(tokens): + + freq_dict = {} + + for token in tokens: + if not token in freq_dict.keys(): + freq_dict[token] = 1 + else: + freq_dict[token] += 1 + + return freq_dict + +def sort_freq(fd, verbose=True, descending=True): + + sorted_keys = sorted(fd, key=fd.get, reverse=descending) + sorted_list = list() + + for k in sorted_keys: + sorted_list.append((k, fd[k])) + + if verbose: + print(sorted_list) + +def can_write_string(want, have): + + fd_want = collections.Counter(want) + fd_have = collections.Counter(have) + for k, v in fd_want.items(): + if v > fd_have[k]: + return False + + return True def sanitize(string): @@ -17,7 +51,9 @@ def main(): tokens = sanitize(content).split() try: - create_freq_dict(tokens) + a = create_freq_dict(tokens) + sort_freq(a, verbose=False) + #print(can_write_string('foo', 'oh california')) except Exception as e: print("Error while calling function:") print(e) -- GitLab