From 493f50eb254e3ae07747810d87079fa1b4f54af8 Mon Sep 17 00:00:00 2001 From: Cliff McCullough Date: Thu, 25 Jun 2020 13:28:13 -0400 Subject: [PATCH] Simplify digram generation and sort Sort digram frequency count --- Chapter_3/count_digrams_practice.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/Chapter_3/count_digrams_practice.py b/Chapter_3/count_digrams_practice.py index affe288..2429145 100644 --- a/Chapter_3/count_digrams_practice.py +++ b/Chapter_3/count_digrams_practice.py @@ -14,11 +14,7 @@ name = name.lower() # generate unique letter pairs from name -digrams = set() -perms = {''.join(i) for i in permutations(name)} -for perm in perms: - for i in range(0, len(perm) - 1): - digrams.add(perm[i] + perm[i + 1]) +digrams = sorted([''.join(i) for i in permutations(name, 2)]) print(*digrams, sep='\n') print("\nNumber of digrams = {}\n".format(len(digrams))) @@ -30,7 +26,7 @@ for m in re.finditer(digram, word): mapped[digram] += 1 -print("digram frequency count:") -count = 0 -for k in mapped: +print("Digram frequency count:") +keys = sorted(mapped.keys()) +for k in keys: print("{} {}".format(k, mapped[k]))