listpython的列表內部實現是數組(具體實現要看解析器,CPython的實現),因此就有數組的特點。超過容量會增加更多的容量,set,get是O(1),但del,insert,in的性能是O(n)。具體的看下表,'n’是容器中當前的元素數,'k’需要操作的元素個數OperationAverageCaseAmortizedWorstCaseCopyO(n)O(n)Append[1]O(1)O(1)InsertO(n)O(n)GetItemO(1)O(1
系統 2019-09-27 17:45:52 1746
#堆排序defheap_sort(arr):root=len(arr)//2-1while(root>=0):heap_adjust(arr,root,len(arr)-1)root=root-1#此時生成的大頂堆,滿足每個根節點為子樹中最大,因此,之后只需要對最頂的子樹進行調整i=len(arr)-1whilei>=0:arr[0],arr[i]=arr[i],arr[0]heap_adjust(arr,0,i-1)i=i-1defheap_adjust
系統 2019-09-27 17:45:50 1746
本文較為詳細的講述了Python中常用的模塊,分享給大家便于大家查閱參考之用。具體如下:1.內置模塊(不用import就可以直接使用)常用內置函數:help(obj)在線幫助,obj可是任何類型callable(obj)查看一個obj是不是可以像函數一樣調用repr(obj)得到obj的表示字符串,可以利用這個字符串eval重建該對象的一個拷貝eval_r(str)表示合法的python表達式,返回這個表達式dir(obj)查看obj的namespace中
系統 2019-09-27 17:45:32 1746
有些時候我們不得不在自己的代碼里寫上密碼,為了安全起見,我們可以為自己的密碼加密先上段代碼,這個代碼是轉自網上root@ProFtp:/usr/lib/python2.7#morejastmencrypt.py"""jastmeencryptpassword"""defencrypt(key,s):b=bytearray(str(s).encode("gbk"))n=len(b)#求出b的字節數c=bytearray(n*2)j=0foriinrange(
系統 2019-09-27 17:38:35 1746
網絡通用urllib-網絡庫(stdlib)。requests-網絡庫。grab?C網絡庫(基于pycurl)。pycurl?C網絡庫(綁定libcurl)。urllib3?CPythonHTTP庫,安全連接池、支持文件post、可用性高。httplib2?C網絡庫。RoboBrowser?C一個簡單的、極具Python風格的Python庫,無需獨立的瀏覽器即可瀏覽網頁。MechanicalSoup-一個與網站自動交互Python庫。mechanize-有
系統 2019-09-27 17:38:25 1746
我在工作的時候,在測試環境下使用的數據庫跟生產環境的數據庫不一致,當我們的測試環境下的數據庫完成測試準備更新到生產環境上的數據庫時候,需要準備更新腳本,真是一不小心沒記下來就會忘了改了哪里,哪里添加了什么,這個真是非常讓人頭疼。因此我就試著用Python來實現自動的生成更新腳本,以免我這爛記性,記不住事。主要操作如下:1.在原先basedao.py中添加如下方法,這樣舊能很方便的獲取數據庫的數據,為測試數據庫和生產數據庫做對比打下了基礎。defselect
系統 2019-09-27 17:38:12 1746
1.在Scrapy工程下新建“middlewares.py”#Importingbase64librarybecausewe'llneeditONLYincaseiftheproxywearegoingtouserequiresauthenticationimportbase64#StartyourmiddlewareclassclassProxyMiddleware(object):#overwriteprocessrequestdefprocess_r
系統 2019-09-27 17:38:07 1746
設置字段可選在擺弄了一會之后,你或許會發現管理工具有個限制:編輯表單需要你填寫每一個字段,然而在有些情況下,你想要某些字段是可選的。舉個例子,我們想要Author模塊中的email字段成為可選,即允許不填。在現實世界中,你可能沒有為每個作者登記郵箱地址。為了指定email字段為可選,你只要編輯Book模塊(回想第五章,它在mysite/books/models.py文件里),在email字段上加上blank=True。代碼如下:classAuthor(mo
系統 2019-09-27 17:37:46 1746
Flex應用展示之-GOOGLEWEBDESKTOP剛剛拿到這個消息的時候,我很吃驚,啊,google終于要找哦web操作系統啦,也是我便去google的lab去找這個產品,早來找不到。到最后回到作者的網頁上才發現,原來這個應用并不是google搞得,而是另一款的flex網絡應用程序。太有才,我只能這么說了,于是便趕到其主頁一睹新鮮。這個應用搜集了google幾乎所有的產品,不過現在做的不是太完善,還有很多的bug有待改進,不過我很期待這款應用程序何時才能
系統 2019-08-29 23:30:03 1746
目錄貼:跟我學Shiro目錄貼在做用戶登錄功能時,很多時候都需要驗證碼支持,驗證碼的目的是為了防止機器人模擬真實用戶登錄而惡意訪問,如暴力破解用戶密碼/惡意評論等。目前也有一些驗證碼比較簡單,通過一些OCR工具就可以解析出來;另外還有一些驗證碼比較復雜(一般通過如扭曲、加線條/噪點等干擾)防止OCR工具識別;但是在中國就是人多,機器干不了的可以交給人來完成,所以在中國就有很多打碼平臺,人工識別驗證碼;因此即使比較復雜的如填字、算數等類型的驗證碼還是能識別的
系統 2019-08-29 22:00:40 1746