[英]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
行split
,并仅保留第一个以空格分隔的字符串:
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]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.