繁体   English   中英

将文件中的值添加到列表时使用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'... ]

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

只需splitsplit ,并仅保留第一个以空格分隔的字符串:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM