我的程序将导入由用户创建的文件,其中包含最多15行文本(下面的示例)
#ID #value1 # value2
445 4 9000
787 2 4525
405 4 3352
415 1 2854
455 2 5500
ř 程序然后过滤掉#value 1大于2且#value 2大于3000的所有行并打印出#ID,忽略其余的行。
这是我到目前为止所做的事情
filename = ('input.txt')
infile = open(filename, 'r')
list_id = []
list_value1 = []
list_value2 = []
masterlist = []
for line in infile:
id, value1, value2 = line.split()
list_id.append(id)
list_value1.append(value1)
list_value2.append(value2)
masterlist.append(list_id)
masterlist.append(list_value1)
masterlist.append(list_value2)
#filtering part
sort = [i for i in masterlist[1] if i > 2 ] and [p for p in masterlist[2] if p > 3000]
#do something here to print out the ID of the filtered lines
答案 0 :(得分:3)
以您的代码为出发点:
filename = ('input.txt')
infile = open(filename, 'r')
ids = []
for line in infile:
id, value1, value2 = line.split()
if int(value1) > 2 and int(value2) > 3000:
ids.append(id)
根据需要对非整数值进行异常处理。