1.写一个函数,读取一个文件中的一个单词列表(参考9.1),然后输出所有的变位词。用python
时间: 2024-03-16 20:44:37 浏览: 55
可以按照以下步骤实现:
1. 定义一个函数,传入一个文件名作为参数。
2. 打开文件,并将文件中的每一个单词添加到一个列表中。
3. 遍历这个单词列表,对于每一个单词,将其按照字母排序,然后将排序后的单词作为键,将原单词作为值,添加到一个字典中。
4. 遍历字典,对于每一个键值对,如果键对应的列表长度大于1,则说明存在变位词,输出其对应的所有单词。
下面是实现代码:
```python
def find_anagrams(filename):
word_list = []
with open(filename) as f:
for line in f:
word_list.extend(line.strip().split())
anagram_dict = {}
for word in word_list:
sorted_word = ''.join(sorted(word))
if sorted_word not in anagram_dict:
anagram_dict[sorted_word] = [word]
else:
anagram_dict[sorted_word].append(word)
for key, value in anagram_dict.items():
if len(value) > 1:
print(value)
```
使用示例:
```python
find_anagrams('words.txt')
```
其中,`words.txt` 是包含单词列表的文件名。
阅读全文