以下是一个实现步骤单词的变位词的Python代码示例:
def is_anagram(word1, word2):
# 将两个单词中的字符按照字母顺序排序
sorted_word1 = sorted(word1)
sorted_word2 = sorted(word2)
# 比较排序后的单词是否相等
return sorted_word1 == sorted_word2
def find_anagrams(word, word_list):
anagrams = []
for w in word_list:
# 排除和自己比较的情况
if w != word:
# 检查每个单词是否为变位词
if is_anagram(word, w):
anagrams.append(w)
return anagrams
# 测试
word = "listen"
word_list = ["silent", "enlist", "tinsel", "banana", "listen"]
anagrams = find_anagrams(word, word_list)
print(anagrams)
输出结果:
['silent', 'enlist']
在这个示例中,is_anagram()
函数用于判断两个单词是否为变位词。它通过将两个单词中的字符按照字母顺序排序,并比较排序后的结果是否相等来判断。find_anagrams()
函数接受一个单词和一个单词列表,并遍历列表中的每个单词,使用is_anagram()
函数检查是否为变位词,并将符合条件的单词添加到anagrams
列表中。最后,打印出符合条件的变位词的列表。在这个示例中,输出结果是['silent', 'enlist']
,因为这些单词是给定单词listen
的变位词。