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]
我正在尝试将两个单独文件中的值添加到两个单独的列表中。第一个文件 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]