mirror of
https://github.com/TheAlgorithms/Python.git
synced 2025-07-20 11:32:07 +08:00
Added Dequeue in Python
This commit is contained in:
38
other/word_patterns.py
Normal file
38
other/word_patterns.py
Normal file
@ -0,0 +1,38 @@
|
||||
import pprint, time
|
||||
|
||||
def getWordPattern(word):
|
||||
word = word.upper()
|
||||
nextNum = 0
|
||||
letterNums = {}
|
||||
wordPattern = []
|
||||
|
||||
for letter in word:
|
||||
if letter not in letterNums:
|
||||
letterNums[letter] = str(nextNum)
|
||||
nextNum += 1
|
||||
wordPattern.append(letterNums[letter])
|
||||
return '.'.join(wordPattern)
|
||||
|
||||
def main():
|
||||
startTime = time.time()
|
||||
allPatterns = {}
|
||||
|
||||
with open('Dictionary.txt') as fo:
|
||||
wordList = fo.read().split('\n')
|
||||
|
||||
for word in wordList:
|
||||
pattern = getWordPattern(word)
|
||||
|
||||
if pattern not in allPatterns:
|
||||
allPatterns[pattern] = [word]
|
||||
else:
|
||||
allPatterns[pattern].append(word)
|
||||
|
||||
with open('Word Patterns.txt', 'w') as fo:
|
||||
fo.write(pprint.pformat(allPatterns))
|
||||
|
||||
totalTime = round(time.time() - startTime, 2)
|
||||
print('Done! [', totalTime, 'seconds ]')
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
Reference in New Issue
Block a user