I\'m trying to create a simple program that lets you enter a sentence which will then be split into individual words, saved as splitline
. For example:
I'm not sure why you're iterating over every character, assigning splitline
to be the same thing every time. Let's not do that.
words = text.split() # what's a splitline, anyway?
It looks like your terminology is backwards, dictionaries look like: {key: value}
not like {value: key}
. In which case:
my_dict = {'the': 1, 'in': 2, 'a': 3}
is perfect to turn "the man lives in a house"
into "1 man lives 2 3 house"
From there you can use dict.get
. I don't recommend str.replace
.
final_string = ' '.join(str(my_dict.get(word, word)) for word in words)
# join with spaces all the words, using the dictionary substitution if possible
dict.get
allows you to specify a default value if the key isn't in the dictionary (rather than raising a KeyError
like dict[key]
). In this case you're saying "Give me the value at key word
, and if it doesn't exist just give me word
"