如何按行分割文件中的数字,并将这些行分配到新列表中?
问题描述:
如何按行分割文件中的数字,并将这些行分配到新列表中?如何按行分割文件中的数字,并将这些行分配到新列表中?
例如,
(以下数字是在一个文件中)
2 56 39 4
20 59 30 68 4
28 50 7 68 95 05 68
我想让它
List1=[2, 56, 39, 4]
List2=[20, 59, 30, 68, 4]
List3=[28, 50, 7, 68, 95, 05, 68 ]
答
这是未经测试,但你会做类似下面的东西。
list = []
with open(filename, 'r') as f:
for line in f:
list.append(line.split(" ")) # Split the space-delimited line into a list and add the list to our master list
请记住list
现在是表示每行上的数字的字符串元素列表的列表。访问这些元素以获取实际数字时,您必须进行类型转换(使用类似int(list[list_index][number_index])
的东西)。
答
尝试:
result = []
with open(filename) as f:
for line in f:
result.append(map(int, line.strip().split()))
print(result)
Output:
[[2, 56, 39, 4], [20, 59, 30, 68, 4], [28, 50, 7, 68, 95, 5, 68]]
答
,如果你关心的是,输出将仍然是一个字符串,你没有提到,所以这是最简单IMO:
with open('filename') as file:
lines = [row.split() for row in f.read()]