我需要在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.但是,下面的示例顯示它們是相等的,而您獲得的實際輸出似乎是是正確的。請考慮重新說明問題。 –