【发布时间】:2019-11-21 10:17:24
【问题描述】:
我正在学习 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]
我希望我已经清楚地解释了所有问题。非常感谢所有帮助,谢谢。
【问题讨论】:
-
除此之外不是有效的 Python(Python 没有
var关键字;它的 for 循环语法不同)您的问题究竟是什么? -
嗯,这里有很多问题:如何从列表中选择一个单曲项目,然后执行相当于 .substring 的 python,所以你会看到我有 "ending = mylist[i]" 怎么办然后我将所选项目子串化。
-
我需要这样做 *** var ending = listOfWords[i].substring(2,4) *** in python
标签: javascript python loops for-loop substring