檢查我有2所列出:上執行列表
main_voltages = [5.5, 15.7, 28.5]
limit_list = [[5,10], [15,20], [25,30]]
我必須進行檢查,以查看是否5.5是在5至10的範圍內,如果15.7是在15至20範圍和28.5是範圍爲25到30. 我應該如何使它不發生任何硬編碼?我對一些功能進行了許多思考,但無法得到確切的方法。
檢查我有2所列出:上執行列表
main_voltages = [5.5, 15.7, 28.5]
limit_list = [[5,10], [15,20], [25,30]]
我必須進行檢查,以查看是否5.5是在5至10的範圍內,如果15.7是在15至20範圍和28.5是範圍爲25到30. 我應該如何使它不發生任何硬編碼?我對一些功能進行了許多思考,但無法得到確切的方法。
這是使用zip()
一個辦法:
>>> main_voltages = [5.5, 15.7, 28.5]
>>> limit_list = [[5,10], [15,20], [25,30]]
>>> result = [b[0] <= a <= b[1] for (a, b) in zip(main_voltages, limit_list)]
>>> result
[True, True, True]
或者作爲@ovgolovin指出的那樣,你可以解壓在limit_list
的元素,並做:
result = [a <= value <= b for (value, (a, b)) in zip(main_voltages, limit_list)]
1雖然我將解壓B中孔(結果= [B [0] <= A <= B [1](A,B)在拉鍊意爲' (main_voltages,limit_list)]' - >'result = [a <= value <= b for(value,(a,b))in zip(main_voltages,limit_list)]') – ovgolovin 2014-09-10 18:44:11
@ovgolovin同意。 – shaktimaan 2014-09-10 18:52:25
@shaktimaan很酷..謝謝 – tryPy 2014-09-10 22:09:39