python - 为什么我的字典插入将我的变量分成两个数字而不是一个?
问题描述
我是 Python 和 Stack Overflow 的新手,所以请原谅我在语法、语法、结构等方面犯的任何错误。
我必须制作一个程序来读取文本文件并提取每封电子邮件的发送时间。然后应该将这些时间存储在字典中,我还可以在其中跟踪按时间发送的最多电子邮件。我仅限于使用某些功能,因为这是用于 coursera 练习。
我几乎完成了它,但我陷入了一个我似乎无法弄清楚的非常奇怪的错误。将我的时间插入字典时,它会将数字分成两个数字并分别跟踪它们,因此而不是得到这个输出:
{'04' : 3, '11' : 6, '10' : 2}
我正进入(状态:
{'0' : 5, '1' : 14 , '4' : 3}
我将代码从第一个 for 循环和结果中取出,而不是给我:
{'16' : 1}
它给了我:
{'1' : 1, '6' : 1}
name = input("Enter file:")
if len(name) < 1 : name = "mbox-short.txt"
handle = open(name)
dic = dict()
for line in handle:
if line.startswith('From '):
words = line.split()
time = words[5].split(':')
print(time[0])
for word in time[0]:
dic[word] = dic.get(word, 0 ) + 1
print(dic)
解决方案
time[0]
是单个字符串而不是字符串列表,因此遍历它会导致遍历字符。这就是为什么我的数字被“分成”两个字符的原因。
推荐阅读
- javascript - 谷歌脚本数组“为”性能
- c - 我怎样才能让我的词法分析器程序打印出不仅仅是分隔符?
- apache-spark - 编写 Spark 应用程序的区别
- angular - 如何简化模板中的 [ngClass]
- r - R-4 组、3 个子组中的分组条形图
- ruby - 使用 Rspec 进行突变测试
- javascript - Jest 会自动将 proptypes 添加到快照中吗?
- javascript - 为什么我不能在控制台中显示 api 的内容(出现 401 错误)?
- maven - 无法解析通过 Maven 部署文件部署的 SNAPSHOT 依赖项
- r - 尝试解压缩 bin.gz 文件时出现错误代码 1