有没有办法让这个python系统计算数组中的前缀?我一直得到一个0的前缀数结果
任何帮助将不胜感激:)
我的代码在下面
file = input("What is the csv file's name?")+".csv"
openfile = open(file)
text = sorted(openfile)
print("Sorted list")
print(text)
dictfile = open("DICT.txt")
prefix = ['de', 'dys', 'fore', 'wh']
prefixcount = 0
for word in text:
for i in range(0, len(prefix)):
if word>prefix[i]:
break
if word[0:len(prefix[i])] == prefix[i]:
prefixcount+=1
break
print(prefixcount)
答案 0 :(得分:0)
首先,当您遇到要跳过迭代的条件时,使用continue
- break
完全结束循环。
其次,word>prefix[i]
没有做你想做的事;它按字典顺序比较字符串(参见例如the Python docs),你真的想知道len(word) < len(prefix[i])
。
我认为你想要的是:
prefixcount = 0
for word in text:
for pref in prefix:
if word.startswith(pref):
prefixcount += 1