为什么我的字典插入会把变量分成两个数字而不是一个



我是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]是单个字符串,而不是字符串列表,因此循环使用它将导致循环使用字符。这就是为什么我的数字被"拆分"成两个字符的原因。

相关内容

  • 没有找到相关文章

最新更新