如何按行分割文件中的数字,并将这些行分配到新列表中?

问题描述:

如何按行分割文件中的数字,并将这些行分配到新列表中?如何按行分割文件中的数字,并将这些行分配到新列表中?

例如,
(以下数字是在一个文件中)

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()]