欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 數(shù)值區(qū)間處理_對interval 庫的快速入門詳解

 更新時間:2018年11月16日 08:46:16   作者:SpeculateCat  
今天小編就為大家分享一篇Python 數(shù)值區(qū)間處理_對interval 庫的快速入門詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

使用 Python 進行數(shù)據(jù)處理的時候,常常會遇到判斷一個數(shù)是否在一個區(qū)間內(nèi)的操作。我們可以使用 if else 進行判斷,但是,既然使用了 Python,那我們當然是想找一下有沒有現(xiàn)成的輪子可以用。事實上,我們可以是用 interval 這一個庫來完成我們需要的操作。

區(qū)間判斷基礎

最基礎的區(qū)間判斷操作就是先創(chuàng)建一個區(qū)間幾個,然后使用 in 來判斷一個數(shù)是否存在于區(qū)間之內(nèi)。代碼如下:

from interval import Interval
zoom_2_5 = Interval(2, 5)
print(zoom_2_5)
>> [2..5]
print(2 in zoom_2_5)
>> True
print(6 in zoom_2_5)
>> False

我們可以從上面的代碼看到,我們先使用 Interval 創(chuàng)建一個集合,然后將我們想要比較的數(shù)用 in 即可得到結果。但是,我們都知道,我們的集合其實是有分開區(qū)間和閉區(qū)間的,上面的代碼中,創(chuàng)建的是 [2, 5] 的區(qū)間集合,那么假如我們想要創(chuàng)建一個如 (2, 5] 的集合,應該如何呢?

請看下面的代碼:

zoom_o2_5 = Interval(2, 5, lower_closed=False)
print(zoom_o2_5)
>> (2..5]
print(2 in zoom_o2_5)
>> False
zoom_o2_o5 = Interval(2, 5, closed=False)
print(zoom_o2_o5)
>> (2..5)

從上面的代碼可以看到,在使用 Interval 創(chuàng)建集合的時候,使用 lower_closed 參數(shù),我們可以將集合區(qū)間下限設置為非閉區(qū)間,也就是開區(qū)間,這樣我們比較 2 是否在這個區(qū)間里的時候,返回的結果是 False。類似的,如果想?yún)^(qū)間上限設置為開區(qū)間,可以將 upper_closed 設置為 False,如果想直接創(chuàng)建一個開區(qū)間,那么久可以直接設置 closed 為 False。

集合的操作

Interval 有三種對集合區(qū)間的操作方法,分別是 join overlaps adjacent_to ,以下將演示以下這三個方法的用法:

zoom_1_3 = Interval(1, 3)
zoom_1_5 = Interval(1, 5)
zoom_o3_5 = Interval(3, 5, lower_closed=False)
# join 合并兩個連續(xù)的區(qū)間集合
print(zoom_1_3.join(zoom_1_5))
>> [1..5]
# overlaps 判斷兩個區(qū)間是否重復
print(zoom_1_3.overlaps(zoom_1_5))
>> True
print(zoom_1_3.overlaps(zoom_o3_5))
>> False
# adjacent_to 判斷區(qū)間是否相鄰比重復
print(zoom_1_3.adjacent_to(zoom_o3_5))
>> True

小結

interval 庫還提供了 IntervalSet 包,里面提供了對多個 Interval 的操作,礙于篇幅的關系以及在實際應用中場景的不同具體用法也不一樣,這里就不贅述了,向更深入了解可以使用 Ipython 進入交互模式然后使用 help() 方法來查看具體不同方法的用法,這個庫里面都提供了詳細的說明。本文的介紹就到這里,希望對你有幫助。

以上這篇Python 數(shù)值區(qū)間處理_對interval 庫的快速入門詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • macbook如何徹底刪除python的實現(xiàn)方法

    macbook如何徹底刪除python的實現(xiàn)方法

    本文主要介紹了macbook如何徹底刪除python的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • Python在內(nèi)網(wǎng)安裝python第三方包(庫)的方法

    Python在內(nèi)網(wǎng)安裝python第三方包(庫)的方法

    日常我們工作的計算機環(huán)境是內(nèi)網(wǎng),做項目需要安裝python?第三方庫,在外網(wǎng)一般使用"pip?install?包名"很快就安裝上了,但是在內(nèi)網(wǎng)無法連接pypi網(wǎng)站或者國內(nèi)鏡像,那該如何安裝呢,下面小編給大家?guī)砹薖ython如何在內(nèi)網(wǎng)安裝python第三方包庫,感興趣的朋友一起看看吧
    2024-01-01
  • Python?queue雙端隊列模塊及用法小結

    Python?queue雙端隊列模塊及用法小結

    雙端隊列是一種具有隊列和棧性質的線性數(shù)據(jù)結構,本文主要介紹了Python?queue雙端隊列模塊及用法小結,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2024-02-02
  • 最新整理Python中的type和object的示例詳解

    最新整理Python中的type和object的示例詳解

    這篇文章主要介紹了最新整理Python中的type和object的示例詳解,最主要,是理解type和object的區(qū)別與聯(lián)系,本文結合示例代碼給大家講解的非常詳細,需要的朋友可以參考下
    2022-12-12
  • python根據(jù)時間生成mongodb的ObjectId的方法

    python根據(jù)時間生成mongodb的ObjectId的方法

    這篇文章主要介紹了python根據(jù)時間生成mongodb的ObjectId的方法,涉及Python操作mongodb數(shù)據(jù)庫的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • python中利用隊列asyncio.Queue進行通訊詳解

    python中利用隊列asyncio.Queue進行通訊詳解

    asyncio是Python 3.4版本引入的標準庫,直接內(nèi)置了對異步IO的支持。 下面這篇文章主要給大家介紹了關于python中利用隊列asyncio.Queue進行通訊的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
    2017-09-09
  • Django更新models數(shù)據(jù)庫結構步驟

    Django更新models數(shù)據(jù)庫結構步驟

    這篇文章主要介紹了Django更新models數(shù)據(jù)庫結構的操作步驟,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python安裝與基本數(shù)據(jù)類型教程詳解

    Python安裝與基本數(shù)據(jù)類型教程詳解

    這篇文章主要介紹了Python安裝與基本數(shù)據(jù)類型教程詳細講解,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-05-05
  • Python?按規(guī)則解析并替換字符串中的變量及函數(shù)(示例代碼)

    Python?按規(guī)則解析并替換字符串中的變量及函數(shù)(示例代碼)

    這篇文章主要介紹了Python?按規(guī)則解析并替換字符串中的變量及函數(shù),本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-11-11
  • python淺談一下線程間通信之隊列

    python淺談一下線程間通信之隊列

    本篇文章介紹了為什么需要線程間通信,以及通信方式有哪些,最后每種通信方式都舉了一個例子,最常用的還是共享變量的方式來進行線程間通信。感興趣的朋友可以閱讀本文
    2023-04-04

最新評論