gpt4 book ai didi

Python 计数器 - 对列表中重复单词的数量求和

转载 作者:太空宇宙 更新时间:2023-11-03 15:19:19 25 4
gpt4 key购买 nike

我正在尝试计算每个单词在列表中出现的次数。因此,我尝试使用计数器模块,但它不是对单词进行总结,而是对各个字母进行总结。

代码片段:

from collections import Counter

wkday = ans.strftime("%A")
incoming.append([wkday,time])
mycount = Counter(wkday)
print mycount

更多代码:

with open('temp_dates.csv') as csvfile2:
readCSV2 = csv.reader(csvfile2, delimiter=',')
incoming = []
for row in readCSV2:
readin = row[0]
time = row[1]
year, month, day = (int(x) for x in readin.split('-'))
ans = datetime.date(year, month, day)
wkday = ans.strftime("%A")
incoming.append([wkday,time])
mycount = Counter(wkday)
print mycount
print wkday
with open('new_dates2.csv', 'w') as out_file:
writer = csv.writer(out_file)
writer.writerows(incoming)

如果我使用列出的计数器,这就是我得到的:

Counter({'e': 2, 'd': 2, 'a': 1, 'n': 1, 's': 1, 'W': 1, 'y': 1})
Counter({'a': 1, 'd': 1, 'M': 1, 'o': 1, 'n': 1, 'y': 1})
Counter({'a': 1, 'e': 1, 'd': 1, 's': 1, 'u': 1, 'T': 1, 'y': 1})
Counter({'a': 1, 'e': 1, 'd': 1, 's': 1, 'u': 1, 'T': 1, 'y': 1})
Counter({'a': 1, 'd': 1, 'M': 1, 'o': 1, 'n': 1, 'y': 1})
Counter({'a': 1, 'd': 1, 'M': 1, 'o': 1, 'n': 1, 'y': 1})
Counter({'e': 2, 'd': 2, 'a': 1, 'n': 1, 's': 1, 'W': 1, 'y': 1})

我需要的是这个:

Monday: 3
Tuesday: 16
Wednesday: 6
...etc

输入数据(打印工作日)如下所示:

Tuesday
Monday
Monday
Sunday
Saturday
Saturday
Thursday
Wednesday
Sunday
Sunday
Wednesday
Tuesday
Thursday
Wednesday

如有任何帮助,我们将不胜感激。

最佳答案

根据 print(wkday) 的结果,您的 wkday 可能只是一个由 "\n" 分隔的字符串。在传递给 Count

之前将其拆分为单词
wkday = wkday.splitlines()

>>> print(wkday)

['Tuesday', 'Monday', 'Monday', 'Sunday', 'Saturday', 'Saturday', 'Thursday', 'Wednesday', 'Sunday', 'Sunday', 'Wednesday', 'Tuesday', 'Thursday', 'Wednesday']

>>> mycount = Counter(wkday)
>>> print(mycount)

Counter({'Sunday': 3, 'Wednesday': 3, 'Tuesday': 2, 'Monday': 2, 'Saturday': 2, 'Thursday': 2})

这证实了我对您的 wkday 类型的假设并重现了您的情况

>>> print(Counter("\n".join(wkday)))

Counter({'d': 17, 'a': 16, 'y': 14, '\n': 13, 'u': 9, 'e': 8, 'n': 8, 's': 7, 'S': 5, 'T': 4, 'r': 4, 'W': 3, 'M': 2, 'o': 2, 't': 2, 'h': 2})

关于Python 计数器 - 对列表中重复单词的数量求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43640784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com