我需要在python中编写一个函数,它返回数字列表的有效测量值。如果最接近的其他测量值小于0.1秒,则测量值无效。另外,输出列表的长度应与输入列表的长度相同。返回“有效”数字
这样:
[5.1, 5.6, 6.0, 10.34, 10.37, 10.45, 12.5]
应该返回[True, True, True, False, False, False, True]
我在下面的方式接近了问题:
list = [5.1, 5.6, 6.0, 10.34, 10.37, 10.45, 12.5]
newlist = []
for i, j in zip(list, list[1:]):
if j - i >= .1:
newlist.append(True)
else:
newlist.append(False)
的问题是,这将返回下面的列表: [True, True, True, False, False, True]
一个False
测量缺失。
如何以不同方式编写此代码?
请解决您的压痕。 –
您的问题的陈述意味着输出列表的长度应该比输入列表的长度小1.但是,下面的示例显示它们是相等的,而您获得的实际输出似乎是是正确的。请考虑重新说明问题。 –