character_sequence.py
import itertools
# this function takes a dictionary and returns a dictionary whose keys are sequences of keys of the original dictionary
# and whose values our the corresponding sequences of values of the original dictionary
def make_sequence_dict_fixed_length(dictionary, fixed_sequence_length):
mapping = {}
for tup in itertools.product(dictionary.keys(), repeat=fixed_sequence_length):
mapping[" ".join(tup)] = "".join(dictionary[word] for word in tup)
return mapping
def make_sequence_dict_up_to_length(dictionary, highest_length):
# d will be a dict of whole number keys pointing to the corresponding fixed length dictionaries
d = {}
for i in range(1, highest_length + 1):
d[i] = make_sequence_dict_fixed_length(dictionary, i)
# output = {k: d[i][k] for k in d[i] for i in d}
output = {}
for i in d:
for k in d[i]:
output[k] = d[i][k]
return output
text_punc_dict.update(caster_alphabet)
character_dict = text_punc_dict
character_sequence_dict = make_sequence_dict_up_to_length(character_dict, 2)
character_sequence_list = character_sequence_dict.values()