import csv with open('./score.txt', 'r') as f: lines = f.readlines() scores = {} for line in lines: for i in range(1,4): player=[i] scorelist = line.strip().split(',')[1:] scoreint = [int(score) for score in scorelist] scores[player]=scoreint print(scores)
时间: 2024-04-27 11:24:20 浏览: 148
python: line=f.readlines()消除line中\n的方法
这段代码与之前的代码相比,只做了一些小的修改,但是这些修改对代码的功能有着很大的影响。
首先,代码中使用了Python的csv模块来读取文件,而不是之前使用的open函数。这样可以更方便地读取csv格式的文件,并且可以避免一些潜在的错误。
其次,代码中将player=[i]的语句移动到了第二个for循环外面,这样才能正确的将每个玩家的分数存储在字典中。另外,将scores.setdefault(player,[]).extend(scoreint)改为scores[player]=scoreint,这样可以更简洁地实现相同的功能。
最终代码的功能与之前的代码相同,都是读取名为'score.txt'的文件,该文件中每行包含一个玩家的姓名和三个分数,用逗号隔开。然后将每个玩家的分数存储在一个字典中,字典的键是玩家的编号,值是一个包含三个分数的列表。最后打印出这个字典。
阅读全文