【发布时间】:2014-11-22 16:07:13
【问题描述】:
我需要调用我已经创建的各种不同的函数来解决下面的问题。我真的不确定如何对此进行编程以实现它。问题是..
在单词列表( str, str list ) 中找到两个单词变位词,其中输入参数应该 是一个字符串和一个字符串列表。输出应该是由两个组成的所有字符串的列表 用空格分隔的单词,这样这两个单词都在 str 列表中,并且组合 这两个词是str的变位词。
我期望的输出是:
wordlist = ('and','band','nor,'born')
find_two_word_anagrams_in_wordlist( "brandon", wordlist )
[’and born’, ’band nor’]
如何实现是:
- 将两个单词字谜的列表初始化为空列表 []。
- 调用 find partial anagrams in word list 以获取所有单词的列表 可以在单词列表中找到的 str 的部分字谜。
- 然后,循环遍历所有这些部分字谜。对于每个 部分字谜部分字谜执行以下操作:
- 从输入字符串str中去掉部分anag的字母,得到 一个字符串,rem 是去掉后剩下的字母 部分字谜;
- 调用 find anagrams in word list on rem(和输入单词列表)到 获取剩余字母的字谜列表;
- 对于剩余字母的每个 anagram rem anag,形成字符串 part anag + " " + rem anag 并将其添加到两个单词 anagrams 列表中。
- 此时列表中的两个单词 anagrams 应该包含所有这两个 其中包含单词字谜,因此请从您的函数中返回该列表。
我已经创建的代码是:
def find_partial_anagrams_in_word_list(str1,str_list):
partial_anagrams = []
for word in str_list:
if (partial_anagram(word, str1)):
partial_anagrams.append(word)
print(partial_anagrams)
def remove_letters(str1,str2):
str2_list = list(str2)
for char in str2:
if char in str1:
str2_list.remove(char)
return "".join(str2_list)
def find_anagrams_in_word_list(str1,str_list):
anagrams = []
for word in str_list:
if (anagram(str1,word)):
anagrams.append(word)
print(word)
任何分步帮助或输入将不胜感激。
【问题讨论】:
标签: python string function python-3.3