【发布时间】:2017-07-04 07:11:58
【问题描述】:
我真的不知道如何表达这个问题,但我有这个文件,旁边有一个数字和一个小数,就像这样(文件名是 num.txt):
33 0.239
78 0.298
85 1.993
96 0.985
107 1.323
108 1.000
我有这个数字字符串,我想从文件中找到某些数字,取十进制数字,并将其附加到列表中:
['78','85','108']
到目前为止,这是我的代码:
chosen_number = ['78','85','108']
memory_list = []
for line in open(path/to/num.txt):
checker = line[0:2]
if not checker in chosen_number: continue
dec = line.split()[-1]
memory_list.append(float(dec))
他们给我的错误是它不在列表中,他们只考虑 3 位数字。我真的不明白为什么会发生这种情况,并且想要一些提示来了解如何解决它。谢谢。
至于错误,没有实际错误。唯一的问题是他们忽略了两位数字,只得到了三位数字。我希望他们同时获得 2 位和 3 位数字。例如,脚本将传递 78 和 85,转到带有 '108' 的行。
【问题讨论】:
-
文件中的所有数字都是十进制的,但左边的数字是整数,右边的数字是浮点数。另外,请在您的问题中包含整个错误消息。
-
checker似乎未定义。另外:如果您遇到错误,请将完整的回溯添加到您的问题中。 -
@mpf82 检查器已被识别,对于错误,没有错误,但脚本只是忽略 3 位数字,只查看 2 位数字。