Python面向?qū)ο缶幊讨畢^(qū)間的插入詳解
一、面向?qū)ο缶幊痰腜ython實(shí)例描述
Python實(shí)例-區(qū)間插入的描述
給出一個(gè)無重疊的,按照區(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í)例的編寫過程
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è)方法至其申明或者用法甚至可以穿過類的層次。
若用戶學(xué)會(huì)使用其提供的快捷鍵的話甚至能更快。
3.代碼分析
用戶可使用其編碼語法,錯(cuò)誤高亮,智能檢測以及一鍵式代碼快速補(bǔ)全建議,使得編碼更優(yōu)化。
4.Python重構(gòu)
有了該功能,用戶便能在項(xiàng)目范圍內(nèi)輕松進(jìn)行重命名,提取方法/超類,導(dǎo)入域/變量/常量,移動(dòng)和前推/后退重構(gòu)。
5.支持Django
有了它自帶的HTML,CSS和 JavaScript編輯器 ,用戶可以更快速的通過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.圖形頁面調(diào)試器
用戶可以用其自帶的功能全面的調(diào)試器對(duì)Python或者Django應(yīng)用程序以及測試單元進(jìn)行調(diào)整,該調(diào)試器帶斷點(diǎn),步進(jìn),多畫面視圖,窗口以及評(píng)估表達(dá)式。
9.集成的單元測試
用戶可以在一個(gè)文件夾運(yùn)行一個(gè)測試文件,單個(gè)測試類,一個(gè)方法或者所有測試項(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è)無重疊的,按照區(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è)無重疊的,按照區(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中處理unchecked未捕獲異常實(shí)例
這篇文章主要介紹了Python中處理unchecked未捕獲異常實(shí)例,本文講解使用回調(diào)或者是鉤子來處理unchecked異常,需要的朋友可以參考下2015-01-01python和opencv構(gòu)建運(yùn)動(dòng)檢測器的實(shí)現(xiàn)
這篇文章主要介紹了python和opencv構(gòu)建運(yùn)動(dòng)檢測器的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03python機(jī)器學(xué)習(xí)理論與實(shí)戰(zhàn)(五)支持向量機(jī)
這篇文章主要為大家詳細(xì)介紹了python機(jī)器學(xué)習(xí)理論與實(shí)戰(zhàn)第五篇,支持向量機(jī)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01python中對(duì)數(shù)據(jù)進(jìn)行各種排序的方法
這篇文章主要介紹了python中對(duì)數(shù)據(jù)進(jìn)行各種排序的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-07-07Python進(jìn)階篇之正則表達(dá)式常用語法總結(jié)
正則表達(dá)式是一個(gè)特殊的字符序列,它能幫助你方便的檢查一個(gè)字符串是否與某種模式匹配。本文為大家總結(jié)了一些正則表達(dá)式常用語法,希望有所幫助2022-08-08