Python內置了一些非常有趣、有用的函數,如:filter、map、reduce,都是對一個集合進行處理,filter很容易理解用于過濾,map用于映射,reduce用于歸并.是Python列表方法的三架馬車。1.filter函數的功能相當于過濾器。調用一個布爾函數bool_func來迭代遍歷每個seq中的元素;返回一個使bool_seq返回值為true的元素的序列。>>>N=range(10)>>>printfilter(lambdax:x>5,N)[
系統 2019-09-27 17:47:27 1749
本文實例講述了python使用zip同時迭代多個序列。分享給大家供大家參考,具體如下:zip可以平行地遍歷多個迭代器python3中zip相當于生成器,遍歷過程中產生元祖,python2會把元祖生成好,一次性返回整份列表zip(x,y,z)會生成一個可返回元組(x,y,z)的迭代器>>>x=[1,2,3,4,5]>>>y=['a','b','c','d','e']>>>z=['a1','b2','c3','d4','e5']>>>foriinzip(x,y
系統 2019-09-27 17:47:13 1749
前言最近在維護項目的python項目代碼,項目使用了python的日志模塊logging,設定了保存的日志數目,不過沒有生效,還要通過contab定時清理數據。分析項目使用了logging的TimedRotatingFileHandler:#!/user/bin/envpython#-*-coding:utf-8-*-importloggingfromlogging.handlersimportTimedRotatingFileHandlerlog=log
系統 2019-09-27 17:38:11 1749
字典是可變的,并且可以存儲任意數量的Python對象,包括其他容器類型另一個容器類型。字典包括鍵對(稱為項目)及其相應的值。Python字典也被稱為關聯數組或哈希表。字典的一般語法如下:dict={'Alice':'2341','Beth':'9102','Cecil':'3258'}可以用下面的方式創建字典:dict1={'abc':456};dict2={'abc':123,98.6:37};每個按鍵都來自它的值用冒號(:),該項目以逗號分隔,整個事情
系統 2019-09-27 17:37:59 1749
面向對象基礎面向對象編程:把一組數據結構和處理它們的方法組成對象(object),把相同行為的對象歸納為類(class),通過類的封裝(encapsulation)隱藏內部細節,通過繼承(inheritance)實現類的特化(specialization)和泛化(generalization),通過多態(polymorphism)實現基于對象類型的動態分派。簡單地說,類是對象的藍圖和模板,對象是類的實例。python中可以使用class關鍵字定義類,在類中
系統 2019-09-27 17:56:01 1748
Zabbix沒有報表導出的功能,于是通過編寫腳本導出zabbix數據并發郵件。效果如下:下面是腳本,可根據自己的具體情況修改:#!/usr/bin/python``#coding:utf-8``importMySQLdb``importtime,datetime``importxlsxwriter``importsmtplib``from``email.mime.textimportMIMEText``from``email.mime.multiparti
系統 2019-09-27 17:55:05 1748
k8spythonapi二次封裝pipinstallpprintkubernetesimporturllib3frompprintimportpprintfromkubernetesimportclientfromosimportpathimportyamlclassK8sApi(object):def__init__(self):#self.config=config.kube_config.load_kube_config()urllib3.disab
系統 2019-09-27 17:54:23 1748
前言Pythonnet這個?瘧?的項目的出現,使得我們可以用一種新的方式,讓C#可以和Python之間進行互操作。但是它的設置和部署可能有點問題,真的是這樣嗎?本文我會介紹Python.Included這個項目,它不但優雅的解決了這個問題,并且讓.NET開發者可以輕松愉快的讓.NET與Python進行互操作。作為概念的證明,我將使用Numpy.Net進行展示,它是一個.NET標準庫,它為Python的Numpy提供了一個強類型API,并且使用它并不需要在W
系統 2019-09-27 17:53:59 1748
2048的python實現。修改自某網友的代碼,解決了原網友版本的兩個小bug:1.原版游戲每次只消除一次,而不是遞歸消除。如[2,2,2,2]左移動的話應該是[4,4,0,0],而不是[8,0,0,0]2.對游戲結束的偵測有bug,已經改正。2048game.py#-*-coding:utf-8-*-"""CreatedonTueJul114:15:392014@author:kelvin"""importrandomclassgame2048:tota
系統 2019-09-27 17:51:12 1748
1、str.split不支持正則及多個切割符號,不感知空格的數量,比如用空格切割,會出現下面情況。>>>s1="aabbcc">>>s1.split('')?['aa','bb','','cc']因此split只適合簡單的字符分割2、re.split,支持正則及多個字符切割>>>printlineabcaa;bb,cc|dd(xx).xxx12.12'xxxx按空格切>>>re.split(r'',line)['abc','aa;bb,cc','|','d
系統 2019-09-27 17:50:51 1748
讀取、寫入和Python編寫程序的最后一個基本步驟就是從文件讀取數據和把數據寫入文件。閱讀完這篇文章之后,可以在自己的to-do列表中加上檢驗這個技能學習效果的任務。簡單輸出貫穿整個系列,一直用print語句寫入(輸出)數據,它默認把表達式作為string寫到屏幕上(或控制臺窗口上)。清單1演示了這一點。清單1重復了第一個Python程序“Hello,World!”,但是做了一些小的調整。清單1.簡單輸出>>>print"HelloWorld!"Hello
系統 2019-09-27 17:49:42 1748
原始數據原始數據大致是這樣子的:每條數據中的四個數據分別是當前節點名稱,節點描述(指代一些需要的節點屬性),源節點(即最頂層節點),父節點(當前節點上一層節點)。datas=[["root","根節點","root",None],["node1","一級節點1","root","root"],["node2","一級節點2","root","root"],["node11","二級節點11","root","node1"],["node12","二級節點1
系統 2019-09-27 17:47:39 1748
PyHook是一個基于Python的“鉤子”庫,主要用于監聽當前電腦上鼠標和鍵盤的事件。這個庫依賴于另一個Python庫PyWin32,如同名字所顯示的,PyWin32只能運行在Windows平臺,所以PyHook也只能運行在Windows平臺。關于PyHook的使用,在它的官方主頁上就有一個簡單的教程,大體上來說,可以這樣使用#-*-coding:utf-8-*-#3importpythoncom4importpyHook5defonMouseEvent
系統 2019-09-27 17:47:22 1748
1、python裝飾器剛剛接觸python的裝飾器,簡直懵逼了,直接不懂什么意思啊有木有,自己都忘了走了多少遍Debug,查了多少遍資料,猜有點點開始明白了。總結了一下解釋得比較好的,通俗易懂的來說明一下:小P閑來無事,隨便翻看自己以前寫的一些函數,忽然對一個最最最基礎的函數起了興趣:defsum1():sum=1+2print(sum)sum1()此時小P想看看這個函數執行用了多長時間,所以寫了幾句代碼插進去了:importtimedefsum1():s
系統 2019-09-27 17:38:08 1748
Python生成指定數量的優惠碼打開Python開發工具IDLE,新建‘codeGen.py'文件,并保存導入需要的包,這里需要random和string,代碼如下:importstringimportrandom假設需要生成200個,長度為10的優惠碼,實際應用這個可以作為參數進來CODE_COUNT=200CODE_LEN=10設計的優惠碼由字母和數字組成,通過下面函數獲取所有字母和數字,字母區分大小寫defstrall():return(string
系統 2019-09-27 17:37:48 1748