擅长:python、mysql、java
<p>如果你现在想要一个简陋的方式。你可以简化这个过程,但我可以提示你一个技工。例如:</p>
<pre><code>input3 = [37.72, 30.66, 30.66, 0.72, 0.24]
output3 = []
output3.append(input3[0])
input3.pop(0)
for i in input3:
if output3[0] / i <2:
output3.append(i)
else:
continue
print(output3)
[37.72, 30.66, 30.66]
</code></pre>
<p>也适用于其他两个示例。这取决于你的标准。再一次,这只是一种粗糙的方式来向你展示和研究</p>
<p>更新:
我在想这个问题。需要对更大的列表或某些值进行更多测试,但也可以通过调整条件(在我的示例i[0]/i<;2中)对列表进行理解</p>
<pre><code>input1 = [46.34, 42.42, 5.11, 2.16, 1.23, 1.19, 0.48, 0.4, 0.22, 0.22, 0.09, 0.04, 0.04, 0.04]
input2 = [32.98, 31.82, 9.76, 3.21, 1.18, 0.43, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11]
input3 = [37.72, 30.66, 30.66, 0.72, 0.24]
output1 = [x if x != input1[0] else x for x in input1 if input1[0] / x <2]
output2 = [x if x != input2[0] else x for x in input2 if input2[0] / x <2]
output3 = [x if x != input3[0] else x for x in input3 if input3[0] / x <2]
result:
[46.34, 42.42]
[32.98, 31.82]
[37.72, 30.66, 30.66]
</code></pre>