同步操作将从 编程语言算法集/Python 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
def get_word_pattern(word: str) -> str:""">>> get_word_pattern("pattern")'0.1.2.2.3.4.5'>>> get_word_pattern("word pattern")'0.1.2.3.4.5.6.7.7.8.2.9'>>> get_word_pattern("get word pattern")'0.1.2.3.4.5.6.7.3.8.9.2.2.1.6.10'"""word = word.upper()next_num = 0letter_nums = {}word_pattern = []for letter in word:if letter not in letter_nums:letter_nums[letter] = str(next_num)next_num += 1word_pattern.append(letter_nums[letter])return ".".join(word_pattern)if __name__ == "__main__":import pprintimport timestart_time = time.time()with open("dictionary.txt") as in_file:word_list = in_file.read().splitlines()all_patterns: dict = {}for word in word_list:pattern = get_word_pattern(word)if pattern in all_patterns:all_patterns[pattern].append(word)else:all_patterns[pattern] = [word]with open("word_patterns.txt", "w") as out_file:out_file.write(pprint.pformat(all_patterns))total_time = round(time.time() - start_time, 2)print(f"Done! {len(all_patterns):,} word patterns found in {total_time} seconds.")# Done! 9,581 word patterns found in 0.58 seconds.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。