0

我是 python 新手。我的第一个任务是从 .txt 文件(输入文件)中的表创建字典。当我在 python 中打印输入文件时

>temp = open ("input.txt", 'r')
>temp.readlines()
['Traget1\t\score1\r\n', 'Target2\tscore2\r\n', .... 'Target26\tscore26']

我试图创建字典:`

temp = open ("input.txt", 'r')
 d = {}
 for line in temp.readlines():
     target, score = line.split("\t")
     d[target] = float (score)
 print d

`

结果:{'Target1: score 1', 'Target2: score2', ....'Target26: score26'}

创建了字典,但是,我遇到了一些使用 .strip() 从输入文件的每一行中删除字符 \r\n 的代码。我很困惑为什么我不必包含 .strip() 并且仍然可以创建字典?谢谢你的帮助。

4

1 回答 1

2

score将包含尾随换行符,但这不是问题,因为float()接受它:

>>> float("35\r\n")
35.0

现在,如果您在那里有一个字符串(例如:在您的示例中,这两个字段是相反的顺序),那么您就有问题了。

注意:您对文件中内容的示例极具误导性。float是您那里有数字的唯一提示。

于 2013-08-05T09:54:34.317 回答