[英]calling a function from another function in python
我已经编写了此函数,该函数将字符串用于查看它们是否为字谜:
def anagram_check(str_x, str_y):
x = string1.replace(" ","")
y = string2.replace(" ","")
lower1 = x.lower()
lower2 = y.lower()
sorted1 = sorted(lower1)
sorted2 = sorted(lower2)
if sorted1 == sorted2:
return True
else:
return False
这个函数可以正常工作,问题是现在我需要在另一个函数中使用这个函数,以便在文本文件中找到字谜。 我想打印一个包含所有字谜的元组列表。 这是我到目前为止所做的
def anagrams_finder(words_num):
anagrams = []
f = open("words.txt")
a = list(f)
list1 = ([s.replace('\n', '') for s in a])
list2 = ([i.lower() for i in list1])
list3 = list2[0:words_num] #number of words from text that need to be checked.
for i in list3:
....
我尝试使用for循环,while循环,appand ....,但是似乎没有任何作用。 如何使用第一个功能来帮助我进行第二个功能? 请帮忙...
如您所说,您的anagram_check()
函数可以正常工作。 但是,对于这个问题,一个更有用的功能是将给定单词转换为其“规范”形式的功能,这样两个字谜都将具有相同的规范形式。
其中一种功能是:
def canonical(word):
return ''.join(sorted(word.lower()))
现在,您所要做的就是拥有一个字典,该字典将规范形式映射到相应单词的列表。 您可以在文本文件上单击一次以填充此词典。 从字典中生成所需的元组列表很简单。
由于这是家庭作业,因此我将其余细节留给您找出。
yupp,来这里和aix说同样的话:
对于一大段文本中所有可能的单词对,都需要很长时间才能调用字谜检查器功能,因此您将需要一个不错的哈希函数来查找字谜。
anagram-finder哈希函数将具有两个属性:
aix提出的哈希函数(对单词中的字母进行排序)绝对足以查找字谜,我还针对相对较大的文本块(例如书的大小)使用了该函数,以达到相同的目的,并且运行速度很快。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.