将readlines字符串转换为列表(Python)
我正在尝试把一份名字和分数的列表整理成一个字典,这样当你输入名字时,就能返回对应的分数。
每个名字和分数都在文件的同一行,比如这样:'Marni________7.59 7.24 7.07 4.44 6.52 0.68 4.97 5.97'
我现在遇到的问题是,怎么把每一行的字符串变成自己的列表(比如说变成['Marni', 7.59, 7.24, 等等])。这是我目前的代码:
sampleDict = {}
def cleanData(initialList,finalList):
infile = open(initialList, 'r')
outfile = open(finalList, 'w')
lines = infile.readlines()
for row in lines:
row.split()
sampleDict[row[0]] = row[1:]
infile.close()
outfile.close()
我觉得一旦把这些行分割成单独的列表后,我就能搞定怎么把这些项目加到字典里,但我就是不知道该怎么分割这些行。
谢谢!
1 个回答
0
首先,你需要把名字和下划线从字符串的其他部分分开。在这个例子中,我假设下划线的长度总是一样的。
接下来,只需再把数字分开,并把这个返回的值存起来。
def cleanData(initialList,finalList):
infile = open(initialList, 'r')
outfile = open(finalList, 'w')
lines = infile.readlines()
for row in lines:
name, numbers = row.split("________")
sampleDict[name] = numbers.split()
# Code to sampleDict write to outfile