python 将文件中的值添加到列表时。仅添加该列表中的第一列

python when adding values from a file to a list. only add the first column from that list

我正在尝试将两个单独文件中的值添加到两个单独的列表中。第一个文件 testing.predict 每行只有一个值,因此可以很好地创建和打印列表。

另一个文件 testing 每行有 14 个值。但是我只想将每一行的第一个值添加到列表中。 testing 中每一行的布局如下:-1 2 5 2 77 4 3 76 2 9 0 2 3 8

with open('testing.predict', 'r') as x:
      predictList = [line.strip() for line in x]

print predictList

with open('testing', 'r') as y:
      originalList = [line.strip() for line in y]

print originalList

当我打印出 originalList 时,它产生:

['1 1:1 2:5 3:0 4:1 5:3 6:2 7:1 8:18 9:30 10:50 11:13 12:12 13:24', 
'-1 1:0 2:1 3:0 4:0 5:1 6:1 7:1 8:10 9:10 10:12 11:10 12:6 13:16', 
'1 1:0 2:7 3:0 4:0 5:4 6:4 7:1 8:21 9:30 10:46 11:19 12:11 13:25', 
'-1 1:0 2:1 3:0 4:0 5:1 6:1 7:1 8:2 9:4 10:3 11:4 12:2 13:5', 
'-1 1:0 2:1 3:0 4:0 5:1 6:1 7:1 8:4 9:4 10:7 11:3 12:6 13:6', 
'-1 1:0 2:1 3:0 4:0 5:1 6:1 7:1 8:3 9:3 10:3 11:3 12:3 13:4', 
'-1 1:2 2:1 3:0 4:0 5:1 6:1 7:1 8:8 9:7 10:12 11:5 12:5 13:12',... ]

我只想打印出来:

['1','-1','1','-1','-1,'-1','-1'... ]

如您所见,它只保存每行的第一个值

split 行并仅保留第一个 space 分隔的字符串:

with open('testing', 'r') as y:
    originalList = [line.strip().split()[0] for line in y]

如果您希望值是整数而不是字符串,那么当然

    originalList = [int(line.strip().split()[0]) for line in y]