如何使用整数而不是字符串将文件读入列表?

时间:2019-09-12 14:50:44

标签: python

我正在尝试读取文件并返回带有整数列表列表的输出。

文件mysqli_query($con, "SELECT * FROM docs WHERE status='$status'")

knapsack1.txt

代码:

1,2,4,6,9,10
3,4,7,11,12,16
15

预期结果应为def greedy_thief(file_name, heuristic): f= open(file_name) mylist = [] for line in f: items = line.split() mylist.append([items[0]] + [int(item) for item in items[1:]]) return mylist print(greedy_thief("knapsack1.txt",test_expensive))
但我得到[[1,2,4,6,9,10], [3,4,7,11,12,16], [15]]

有人知道我该如何解决吗?

1 个答案:

答案 0 :(得分:1)

由于line中没有空格,因此line.split()将返回一个仅包含一个元素的列表,该元素本身就是行,这就是[items[0]]具有字符串({{1} }),并且由于line仅包含一个元素,因此items为空,因此第二个列表理解将导致一个空列表,因此,您应按逗号分隔以分隔数字:

items[1:]

您也可以为此使用地图:

for line in f:
    items = line.split(',')
    mylist.append([int(item) for item in items])