我使用的是python3.4。你知道吗
这是我的密码:
varSentence = input("What sentence would you like to convert to numbers?" )
varList = varSentence.split()
print (varList)
varList2 = list(set(varList))
print (varList2)
for varCount, varWord in enumerate(varList2):
for varWord2 in varList:
if varWord2 == varWord:
varWord2 = varCount
print (varCount + 1)
输入:
varSentence = "this is a test for stack over flow this is a test for stack overflow"
varList = varSentence.split()
varList2 = ['this', 'is', 'a', 'test', 'for', 'stack', 'over', 'flow', 'overflow']
预期产量:
[1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 8, 9]
我认为您只需要将单词从
varList
添加到varList2
(如果它们还不存在),然后在varList2
中打印它们的排名。您可以一次完成所有操作:如果要保持原始列表中元素的顺序,请使用OrderedDict:
根据您的预期输出,结合
Counter
dict将是最好的方法,将counts * ind
添加到列表中,下面为您提供一个O(n)
解决方案,而不是您自己的二次方法:输出:
如果只想打印输出,只需删除列表:
输出:
相关问题 更多 >
编程相关推荐