Input: a list of word_types e.g. ["verb", "adjective", "name", "noun]
Desired output: a dictionary of three words for each letter-word_type combination arranged by word_type.
i.e.
{"verbs" : ["Averb1", "Averb2", "Averb3"], [Bverb1, ...], ..., "adjectives" : ["Aadjective1","Aadjectives2", "Aadjectives3"] ... etc
Here's what I used to generate my data.
import string
A_to_Z = list(string.ascii_uppercase) # list of letters a-z
lettered_word_types = ["verb", "adjective", "name", "noun"]
class Lexicon:
def __init__(self, testing = True):
if testing == True:
for TYPE in lettered_word_types:
setattr(self, TYPE + "s", [letter + TYPE for letter in A_to_Z])
self.__dict__ = {key: [[element + "1", element + "2", element + "3"] for element in value] for key, value in self.__dict__.items()}
data = Lexicon().__dict__
The class serves no purpose, it simply obfuscates what you are doing. To transliterate your code to use a
dict
directly, you just need:So, just to show that this is indeed equivalent: