我是编码的新手,这对我在学校的一门考试来说是一个挑战。 这是我的文本文件的样子。它存储的名称具有不同的值,指的是每次进行测验时得到的分数。
我正在尝试创建一个代码,为每个名称生成一个列表,其中包含三个值:
ChrisNatScores = [3, 3, 3]
PiersMorganScores = [1, 1, 1]
RosylynParkerScores = [8, 8, 8]
我该怎么做?
答案 0 :(得分:0)
我的建议是建立一个字典而不是依赖变量的名称。
这是一个演示,假设您的文件名为testfile.txt
并且内容为:
JoeLawrence 3
JoeLawrence 3
JoeLawrence 3
PiersMorgan 1
PiersMorgan 1
PiersMorgan 1
RosylynParker 8
RosylynParker 8
RosylynParker 8
代码:
>>> from collections import defaultdict
>>> scores = defaultdict(list)
>>> with open('testfile.txt') as f:
... for line in f:
... name, score = line.split()
... scores[name].append(int(score))
...
>>> scores
defaultdict(<type 'list'>, {'RosylynParker': [8, 8, 8], 'PiersMorgan': [1, 1, 1], 'JoeLawrence': [3, 3, 3]})
如果确实想要问题中的变量名称,请继续发出:
>>> JoeLawrenceScores = scores['JoeLawrence']
>>> PiersMorganScores = scores['PiersMorgan']
>>> RosylynParkerScores = scores['RosylynParker']
>>>
>>> JoeLawrenceScores
[3, 3, 3]