Python面向?qū)ο缶幊讨畢^(qū)間的插入詳解
一、面向?qū)ο缶幊痰腜ython實(shí)例描述
Python實(shí)例-區(qū)間插入的描述
給出一個(gè)無(wú)重疊的,按照區(qū)間起始端點(diǎn)排序的列表。
在列表中插入一個(gè)新的區(qū)間,可以確保列表中的區(qū)間。
新的列表區(qū)間仍然有序且不重疊(如果有必要的話,可以合并區(qū)間)。
二、面向?qū)ο缶幊痰腜ython實(shí)例的示例
Python實(shí)例:區(qū)間的插入示例如下所示
示例一
- 輸入:(2, 5)
- 插入:[(1, 2),(5, 9)]
- 輸出:[(1,9)]
示例二
- 輸入:(3, 4)
- 插入:[(1, 2),(5, 9)]
- 輸出:[(1,2), (3,4), (5,9)]
三、面向?qū)ο缶幊痰腜ython實(shí)例的編寫過(guò)程
3.1 本文的集成編譯環(huán)境
本文的編譯環(huán)境使用的是集成開發(fā)環(huán)境是: PyCharm 2021.1.1 x64

pycharm具有的特點(diǎn)如下所示
1.編碼協(xié)助
其提供了一個(gè)帶編碼補(bǔ)全,代碼片段,支持代碼折疊和分割窗口的智能、可配置的編輯器,可幫助用戶更快更輕松的完成編碼工作。
2.項(xiàng)目代碼導(dǎo)航
該IDE可幫助用戶即時(shí)從一個(gè)文件導(dǎo)航至另一個(gè),從一個(gè)方法至其申明或者用法甚至可以穿過(guò)類的層次。
若用戶學(xué)會(huì)使用其提供的快捷鍵的話甚至能更快。

3.代碼分析
用戶可使用其編碼語(yǔ)法,錯(cuò)誤高亮,智能檢測(cè)以及一鍵式代碼快速補(bǔ)全建議,使得編碼更優(yōu)化。
4.Python重構(gòu)
有了該功能,用戶便能在項(xiàng)目范圍內(nèi)輕松進(jìn)行重命名,提取方法/超類,導(dǎo)入域/變量/常量,移動(dòng)和前推/后退重構(gòu)。
5.支持Django
有了它自帶的HTML,CSS和 JavaScript編輯器 ,用戶可以更快速的通過(guò)Django框架進(jìn)行Web開發(fā)。
此外,其還能支持CoffeeScript, Mako 和 Jinja2。
6.支持Google App引擎
用戶可選擇使用Python 2.5或者2.7運(yùn)行環(huán)境,為Google App引擎進(jìn)行應(yīng)用程序的開發(fā),并執(zhí)行例行程序部署工作。

7.集成版本控制
登入,錄出,視圖拆分與合并–所有這些功能都能在其統(tǒng)一的VCS用戶界面(可用于Mercurial, Subversion, Git, Perforce 和其他的 SCM)中得到。
8.圖形頁(yè)面調(diào)試器
用戶可以用其自帶的功能全面的調(diào)試器對(duì)Python或者Django應(yīng)用程序以及測(cè)試單元進(jìn)行調(diào)整,該調(diào)試器帶斷點(diǎn),步進(jìn),多畫面視圖,窗口以及評(píng)估表達(dá)式。

9.集成的單元測(cè)試
用戶可以在一個(gè)文件夾運(yùn)行一個(gè)測(cè)試文件,單個(gè)測(cè)試類,一個(gè)方法或者所有測(cè)試項(xiàng)目。
可自定義&可擴(kuò)展
可綁定了 Textmate, NetBeans, Eclipse & Emacs 鍵盤主盤,以及 Vi/Vim仿真插件。
3.2 編寫Interval類
class Interval(object):
def __init__(self, start, end):
self.start = start
self.end = end
def get(self):
String = '(' + str(self.start) + ',' + str(self.end) + ')'
return String
def equals(self, Intervalx):
if self.start == Intervalx.start and self.end == Intervalx.end:
return 1
else:
return 0

3.3 編寫Solution類
class Solution:
def insert(self, intervals, newInterval):
results = []
insterPos = 0
for interval in intervals:
if interval.end < newInterval.start:
results.append(interval)
insterPos += 1
elif interval.start > newInterval.end:
results.append(interval)
else:
newInterval.start = min(interval.start, newInterval.start)
newInterval.end = max(interval.end, newInterval.end)
results.insert(insterPos, newInterval)
return results
3.4 編寫textOutput函數(shù)
def textOutput():
print('- 給出一個(gè)無(wú)重疊的,按照區(qū)間起始端點(diǎn)排序的列表。')
print('在列表中插入一個(gè)新的區(qū)間,可以確保列表中的區(qū)間。'
print('新的列表區(qū)間仍然有序且不重疊(如果有必要的話,可以合并區(qū)間)。')

3.5 編寫Main函數(shù)
def Main():
textOutput()
solution = Solution()
interval1 = Interval(1, 2)
interval2 = Interval(5, 9)
interval3 = Interval(2, 5)
results = solution.insert([interval1, interval2], interval3)
print('輸入: [', interval1.get(), ',', interval2.get(), ']', ' ', interval3.get())
print('輸出: [', results[0].get(), ']')
3.6 編寫調(diào)用Main的代碼
if __name__ == '__main__':
Main()
3.7 面向?qū)ο缶幊虒?shí)例的運(yùn)行結(jié)果

Python實(shí)例: 插入?yún)^(qū)間
給出一個(gè)無(wú)重疊的,按照區(qū)間起始端點(diǎn)排序的列表。
在列表中插入一個(gè)新的區(qū)間,可以確保列表中的區(qū)間。
新的列表區(qū)間仍然有序且不重疊(如果有必要的話,可以合并區(qū)間)。
Python實(shí)例-區(qū)間的插入運(yùn)行結(jié)果
輸入: [ (1,2) , (5,9) ] (1,9)
輸出: [ (1,9) ]
Process finished with exit code 0
四、面向?qū)ο缶幊痰腜ython實(shí)例的總結(jié)
本文主要講解了面向?qū)ο缶幊痰腜ython實(shí)例:區(qū)間的插入
區(qū)間使用一個(gè)列表表示
列表是有序的
定義了Interval、Solution類
在類中定義了相關(guān)的方法、構(gòu)造函數(shù)
在程序中編寫了相應(yīng)的自定義的主函數(shù)
到此這篇關(guān)于Python面向?qū)ο缶幊讨畢^(qū)間的插入詳解的文章就介紹到這了,更多相關(guān)Python區(qū)間插入內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python tkinter布局與按鈕間距設(shè)置方式
這篇文章主要介紹了Python tkinter布局與按鈕間距設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03
Python隨機(jī)生成均勻分布在單位圓內(nèi)的點(diǎn)代碼示例
這篇文章主要介紹了Python隨機(jī)生成均勻分布在單位圓內(nèi)的點(diǎn)代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11
基于Python實(shí)現(xiàn)簡(jiǎn)單的定時(shí)器詳解
所謂定時(shí)器,是指間隔特定時(shí)間執(zhí)行特定任務(wù)的機(jī)制。幾乎所有的編程語(yǔ)言,都有定時(shí)器的實(shí)現(xiàn)。這篇文章主要介紹的是通過(guò)Python實(shí)現(xiàn)的定時(shí)器,感興趣的可以跟隨小編學(xué)習(xí)一下2021-12-12
Python?Paramiko上傳下載sftp文件及遠(yuǎn)程執(zhí)行命令詳解
這篇文章主要為大家介紹了Python?Paramiko上傳下載sftp文件及遠(yuǎn)程執(zhí)行命令示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
一文搞懂Python中的進(jìn)程,線程和協(xié)程
并發(fā)編程是實(shí)現(xiàn)多任務(wù)協(xié)同處理,改善系統(tǒng)性能的方式。Python中實(shí)現(xiàn)并發(fā)編程主要依靠進(jìn)程、線程和協(xié)程,本文將通過(guò)示例詳解三者的區(qū)別,感興趣的可以了解一下2022-05-05
不到40行代碼用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的推薦系統(tǒng)
這篇文章主要給大家介紹了如何利用不到40行python代碼實(shí)現(xiàn)一個(gè)簡(jiǎn)單的推薦系統(tǒng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
Python寫的創(chuàng)建文件夾自定義函數(shù)mkdir()
這篇文章主要介紹了Python寫的創(chuàng)建文件夾自定義函數(shù)mkdir(),文件夾操作是編程中經(jīng)常需要的,mkdir函數(shù)更是經(jīng)典中的經(jīng)典,需要的朋友可以參考下2014-08-08
Pytorch創(chuàng)建隨機(jī)值張量的過(guò)程詳解
這篇文章主要介紹了Pytorch創(chuàng)建隨機(jī)值張量的過(guò)程詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09
Python實(shí)現(xiàn)代碼統(tǒng)計(jì)工具
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)代碼統(tǒng)計(jì)工具,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09

