問題描述:有這樣乙個需求,給定乙個數字10,我要判斷它在哪個區間範圍之內[0, 5], [5, 8], [8, 10],但是我只有list形式資料[0, 5, 8, 10],那要怎樣判斷呢?
首先,想到的是兩兩之間生成區間,然後逐一判斷,以下是相關**:
from intervals import intinterval
data_list =[0
,5,8
,10]list_interval =
query_num =
5# 獲得兩兩之間的區間範圍
for i in
range
(len
(data_list)):
if i !=
len(data_list)-1
:# 為了排除最後乙個位置,索引超出矩陣維度
data_range = intinterval.closed(data_list[i]
, data_list[i+1]
)# 這裡用的雙閉[2, 3],兩邊都是閉合區間,可以用open_closed()→(],或者closed_open()→[)
# 判斷給定數字是否在區間範圍內
location_query_interval =
for single_interval in list_interval:
if query_num in single_interval:
# 取出所在區間的兩端值
left_index = location_query_interval.lower(
)right_index = location_query_interval.upper(
)print
('[{}, {}]'
.format
(left_index, right_index)
)
還有乙個思路是,可以用pands裡面的cut函式,這個本質上也是呼叫的interval,可以自己嘗試一下。 庫(動態庫和靜態庫)
如有問題,請多多指教。庫 預先編譯好的方法的集合 分為 靜態庫 libxx.a 和 動態庫 libxx.so xx是庫名 我們在linux系統下,我們要知道這幾個存放位置 可執行的程式,命令放在 bin usr bin 標頭檔案放在 usr include 庫檔案放在 lib usr lib 1.那...
庫(靜態庫和動態庫)
一 靜態庫 以c語言的形式生成庫 h中extern c int add int int extern c int sub int int 二.測試靜態庫 將.h和.lib放入 h ifdef cplusplus c 程式設計師用c的方式開啟 extern c int add int int exte...
C語言庫 靜態庫 共享庫
我們在編寫乙個c語言程式的時候,經常會遇到好多重複或常用的部分,如果每次都重新編寫固然是可以的,不過那樣會大大降低工作效率,並且影響 的可讀性,更不利於後期的 維護。我們可以把他們製作成相應的功能函式,使用時直接呼叫就會很方便,還可以進行後期的功能公升級。例如我要在一段 中多次交換兩個變數的值,我可...