我正在为自己的工作学习python,以便能够处理统计数据。我已经具有C#和javascript的知识,可以使用这些语言解决此问题,但是我很难将解决方案转换为python。
问题 计算.txt文件中所有唯一的四个字母词。任何带有撇号的单词都应被忽略。忽略单词的大小写(即工具和工具仅应计为一个单词)。打印(以便用户可以看到)唯一的四个字母词的数量。
根据单词的最后两个字母(单词结尾)将四个字母单词分开。计算这些结尾中每个词有多少个单词。
打印出单词结尾的列表以及为每个结尾找到的单词数。
我已经在下面的Javascript中解决了这个问题:
var listOfWords = ['card','alma','soon','bard','moon','dare'];
var groupings = {};
for(var i = 0; i < listOfWords.length; i++);
{
var ending = listOfWords[i].substring(2,4)
if(groupings[ending] === undefined)
{
groupings[ending] = {}
groupings[ending].words = []
groupings[ending].count = 0
}
groupings[ending].words.push(listOfWords[i])
groupings[ending].count++
};
console.debug(groupings);
这是我到目前为止在python中拥有的东西:
import re
text = open("words.txt")
regex = re.compile(r'\b\w{4}\b')
allFours = []
groupings = []
for line in text:
four_letter_words = regex.findall(line)
for word in four_letter_words:
allFours.append(word)
mylist = list(dict.fromkeys(allFours))
uniqueWordCount = len(mylist)
print(uniqueWordCount)
for i = 0; i < mylist.length; i++:
var ending = mylist[i]
我希望我已经清楚地解释了所有问题。非常感谢所有帮助,谢谢。