将readlines字符串转换为列表(Python)

0 投票
1 回答
898 浏览
提问于 2025-04-29 07:07

我正在尝试把一份名字和分数的列表整理成一个字典,这样当你输入名字时,就能返回对应的分数。

每个名字和分数都在文件的同一行,比如这样:'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

撰写回答