我正在尝试读取文件并返回带有整数列表列表的输出。
文件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]]
。
有人知道我该如何解决吗?
答案 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])