首页 > 解决方案 > 如何将文件中的数字添加到列表中?

问题描述

我正在尝试读取每行中都有数字列表的文件。我只想获取数字列表而不是相应的 ID 号,并将其放入一个列表中,以便稍后按字典中的频率排序。

我试图将数字添加到列表中,并且我只能获得我需要的数字,但我无法将其正确添加到列表中。

我有读取文件并找到我想从行中读取的位置的功能。然后我尝试将其添加到列表中,但它继续出现:

['23,43,56,', '67,87,34',]

我希望它看起来像这样:

[23, 43, 56, 67, 87, 34]

这是我的代码

def frequency():
f = open('Loto4.txt', "r")
list = []

    for line in f:
        line.strip('\n')
        start = line.find("[")
        end = line.find("]")
        line = line[start+1:end-1]
        list.append(line)
        print(line)

   print(list)
frequency()

这是我正在阅读的文件:

1:[36,37,38,9]

2:[3,5,28,25]

3:[10,14,15,9]

4:[23,9,31,41]

5:[5,2,21,9]

标签: pythonlistfile

解决方案


尝试使用append(我将其更改为extend)行上的列表理解,也请不要变量命名为默认的python内置,因为list是一个,我将其重命名为l,但请下次自行执行,另见@MichaelButscher评论:

def frequency():
    f = open('Loto4.txt', "r")
    l = []

    for line in f:
        line = line.strip('\n')
        start = line.find("[")
        end = line.find("]")
        line = line[start + 1:end]
        l.extend([int(i) for i in line.split(',')])
        print(line)

    print(l)

frequency()

推荐阅读