如何编写一个程序,让用户输入一个字符串,然后程序生成一个以该字符串开头的单词列表?例如:用户:“abd”程序:退位、收腹、外展...谢谢!编辑:我正在使用python,但我认为这是一个与语言无关的问题。 最佳答案 使用trie.将您的单词列表添加到trie中。从根到叶子的每条路径都是一个有效的词。从根到中间节点的路径代表一个前缀,中间节点的子节点是前缀的有效补全。 关于python-列出字典中以开头的所有单词,我们在StackOverflow上找到一个类似的问题:
我有一个名为test.txt的文本文件。我想阅读它并返回文件中所有单词的列表(删除换行符)。这是我当前的代码:defread_words(test.txt):open_file=open(words_file,'r')words_list=[]contents=open_file.readlines()foriinrange(len(contents)):words_list.append(contents[i].strip('\n'))returnwords_listopen_file.close()运行这段代码会产生这个列表:['hellotherehowiseverything'
这是我的函数的代码:defcalcVowelProportion(wordList):"""CalculatestheproportionofvowelsineachwordinwordList."""VOWELS='aeiou'ratios=[]forwordinwordList:numVowels=0forcharinword:ifcharinVOWELS:numVowels+=1ratios.append(numVowels/float(len(word)))现在,我正在处理超过87,000个单词的列表,这个算法显然非常慢。有更好的方法吗?编辑:我测试了以下类提供的算法@ExP:
我想应用词形还原来减少单词的变形形式。我知道WordNet为英语语言提供了这样的功能,但我也有兴趣对荷兰语、法语、西类牙语和意大利语单词应用词形还原。有没有值得信赖和确认的方法来解决这个问题?谢谢! 最佳答案 试试CLIPS的pattern库,它们支持德语、英语、西类牙语、法语和意大利语。正是您所需要的:http://www.clips.ua.ac.be/pattern不幸的是,它只适用于Python2,尚未提供对Python3的支持。 关于python-非英语单词的词形还原?,我们在S
我在pandas中有一个DataFrame,其中有一个名为df.strings的列,其中包含文本字符串。我想在自己的行中获取这些字符串的各个单词,其他列的值相同。例如,如果我有3个字符串(和一个不相关的列,时间):StringsTime0Thedog4Pm1lazydog2Pm2Thefox1Pm我想要新行包含字符串中的单词,但其他列相同Strings---Words---Time"Thedog"---"The"---4Pm"Thedog"---"dog"---4Pm"lazydog"---"lazy"---2Pm"lazydog"---"dog"---2Pm"Thefox"---"T
我有两个长度相等的字符串,想匹配具有相同索引的单词。我也在尝试匹配连续的比赛,这是我遇到麻烦的地方。例如我有两个字符串alligned1='Iamgoingtogotosomeshow'alligned2='Iamnotgoingtogotheshow'我要找的是得到结果:['Iam','show']我目前的代码如下:keys=[]forxinalligned1.split():foriinalligned2.split():ifx==i:keys.append(x)这给了我:['I','am','show']如有任何指导或帮助,我们将不胜感激。 最佳答案
程序必须打印按字母顺序排在8个元素中最后一个的名称。可以通过代码以任何方式输入名称/单词。我想我应该在这里使用列表和inrange()。我有一个想法,将输入名称的第一个/第二个/第三个/...字母与前一个字母的字母进行比较,然后将其放在列表的末尾或前一个字母的前面(取决于比较),然后重复下一个名字。最后,程序将打印列表的最后一个成员。 最佳答案 Python的字符串比较默认是词法的,因此您应该能够调用max并摆脱它:In[15]:sentenceOut[15]:['this','is','a','sentence']In[16]:m
我正在用python查找文件中的一些单词。找到每个单词后,我需要从文件中读取接下来的两个单词。我一直在寻找一些解决方案,但我找不到只阅读下一个单词的方法。#offsetFile-filepointer#searchTerms-listofwordsforlineinoffsetFile:forwordinsearchTerms:ifwordinline:#heregetthenexttwotermsaftertheword感谢您的宝贵时间。更新:只需要第一次出现。实际上,在这种情况下,这个词只能出现一次。文件:accept422820access1833145accid14589alg
我有一大组现实世界的文本,我需要从中提取单词以输入到拼写检查器中。我想尽可能多地提取有意义的词,但不要有太多干扰。我知道这里有很多正则表达式忍者,所以希望有人能帮助我。目前我正在使用'[a-z]+'提取所有字母序列.这是一个不错的近似值,但它会拖出很多垃圾。理想情况下我想要一些正则表达式(不一定要漂亮或高效)提取由自然单词分隔符(例如[/-_,.:]等)分隔的所有字母序列,并忽略任何具有非法边界的字母序列。不过,我也很高兴能够获得所有不与数字相邻的字母序列。例如'pie21'不会提取'pie',但是'http://foo.com'将提取['http','foo','com'].我试过了
这个问题在这里已经有了答案:ReverseastringinPython(18个答案)关闭9年前。如何在Python中反转单词?例如:SomeArray=('Pythonisthebestprogramminglanguage')i=''forxinSomeArray:#idontknowhowtodoitprint(i)结果必须是:egaugnalgnimmargorptsebehtsinohtyP请帮忙。并解释。附言:我不能使用[::-1]。我知道这件事。我必须在面试中这样做,只使用循环:)