Time of Update: 2016-06-06
本文執行個體講述了Python實現短網址ShortUrl的Hash運算方法。分享給大家供大家參考。具體如下:shorturl實現常見的做法都是將原始Url儲存到資料庫,由資料庫返回一個對應ID。以下要實現的是不用資料庫支援就對原始URL進行shorturl hash。說到這裡我們很容易想到MD5,固定長度,衝突機率小,但是32個字元,太長?我們以MD5為基礎,將其字元縮短,同時要保證一定數量範圍內hash不會衝突。我們分成兩個步驟來實現。第一步演算法:① 將長網址用md5演算法產生32位簽名串,
Time of Update: 2016-06-06
mapmap(funcname, list)python的map 函數使得函數能直接以list的每個元素作為參數傳遞到funcname中, 並返迴響應的新的list如下:def sq(x): return x*x #求x的平方map(sq, [1,3, 5,7,9]) #[1, 9, 25, 49, 81]在需要對list中的每個元素做轉換的時候, 會很方便比如,把list中的每個int 轉換成strmap(str, [23,43,4545,324]) #['23', '43', '4545'
Time of Update: 2016-06-06
本文執行個體講述了python實現web方式logview的方法。分享給大家供大家參考。具體如下:這裡用Python實現web方式查看日誌的一個小東西,使用python的popen執行了linux的tail命令來實現。注意:這裡需要web.py環境具體代碼如下:#coding=utf8import webimport osurls = ( '/', 'index')class index: def GET(self): command = 'tail -n100
Time of Update: 2016-06-06
字典的鍵 字典中的值沒有任何限制, 可以是任意Python對象,即從標準對象到使用者自訂對象皆可,但是字典中的鍵是有類型限制的。(1)不允許一個鍵對應多個值 必須明確一條原則:每個鍵只能對應一個項。也就是說:一鍵對應多個值是不允許的(像列表、元組和其他字典這樣的容器物件是可以的)。 當有鍵發生衝突(即字典鍵重複賦值),取最後(最近)的賦值。Python並不會因字典中的鍵存在衝突而產生一個錯誤,它不會檢查鍵的衝突是因為如果真這樣做的話,在每個鍵-值對賦值的時候都會做檢查,
Time of Update: 2016-06-06
本文執行個體講述了python實現JAVA原始碼從ANSI到UTF-8的批量轉換方法。分享給大家供大家參考。具體如下:喜歡用eclipse的大神們,可能一不小心代碼就變成ANSI碼了,需要轉換成utf-8嘛,一個檔案一個檔案的在Notepad2或者notepad++裡面轉換嗎?不,這裡有批量轉換的程式,python實現,需要的拿去用吧。ansi2utf8.py:#-*- coding: utf-8 -*-import codecsimport osimport shutilimport
Time of Update: 2016-06-06
映射類型操作符(1)標準類型操作符 字典可以和所有的標準類型操作符一起工作,但卻不支援像拼接(concatenation)和重複(repetition)這樣的操作。這些操作對序列有意義,可對映射類型行不通。 字典是如何比較的呢? 與列表和元組一樣,這個過程比數字和字串的比較更複雜些。(2)映射類型操作符字典的鍵尋找操作符([ ])
Time of Update: 2016-06-06
閉包並不是什麼新奇的概念,它早在進階語言開始發展的年代就產生了。閉包(Closure)是詞法閉包(Lexical
Time of Update: 2016-06-06
集合內建函數和內建方法(1)標準類型函數 len():把集合作為參數傳遞給內建函數 len(),返回集合的基數(或元素的個數)。(2)集合類型工廠函數 set()和 frozenset()工廠函數分別用來產生可變和不可變的集合。如果不提供任何參數,預設會產生空集合。如果提供一個參數,則該參數必須是可迭代的,即一個序列或迭代器或支援迭代的一個對象,例如一個檔案或一個字典。(3)方法(所有的集合方法)s.issubset(t)
Time of Update: 2016-06-06
需求有一個表,裡面資料量比較大,每天一更新,其欄位可以通過xml設定檔進行配置,即,可能每次建表的欄位不一樣。上遊跑時會根據配置從源檔案中提取,到入庫這一步需要根據配置進行建表。解決寫了一個簡單的xml,配置需要欄位及類型上遊讀取到對應的資料入庫這一步,先把原表刪除,根據配置建新表XML檔案idqueryvarchar(200)falsequerypvintegerfalsepvavg_moneyintegerfalse處理指令碼#!/usr/bin/python# -*-
Time of Update: 2016-06-06
先來回顧一下棧和隊列的基本概念:相同點:從"資料結構"的角度看,它們都是線性結構,即資料元素之間的關係相同。不同點:棧(Stack)是限定只能在表的一端進行插入和刪除操作的線性表。
Time of Update: 2016-06-06
字串類型是python裡面最常見的類型,是不可變類型,支援單引號、雙引號、三引號,三引號是一對連續的單引號或者雙引號,允許一個字串跨多行。字串串連:前面提到的+操作符可用於字串串連,還可以直接把幾個字串連在一起寫,另外調用join()方法也可以連接字串。只適用於字串串連的操作符:前面提到了一些序列類型共用的操作符,除此之外,字串還有只屬於自己的操作符,包括格式控制操作符%、字串模板string.Template、原始字串操作符r/R、Unicode字串操作符u/U。下面列舉一些與字串類型有關的模
Time of Update: 2016-06-06
我一直使用 Python,用它處理各種資料科學項目。 Python 以易用聞名。有編碼經驗者學習數天就能上手(或有效使用它)。聽起來很不錯,不過,如果你既用 Python,同時也是用其他語言,比如說 C 的話,或許會存在一些問題。給你舉個我自己經曆的例子吧。 我精通命令式語言,如 C 和 C++。對古老經典的語言如 Lisp 和 Prolog 能熟練使用。另外,我也用過 Java,Javascript 和 PHP 一段時間。(那麼,學習) Python
Time of Update: 2016-06-06
字典是python語言中唯一的映射類型,用花括弧{}表示,一個字典條目就是一個索引值對,方法keys()返回字典的鍵列表,values()返回字典的值列表,items()返回字典的索引值對列表。字典中的值沒有任何限制,它們可以是任意python對象,但字典中的鍵是有類型限制的,每個鍵只能對應一個值,且鍵必須是可哈系的,所有不可變類型都是可雜湊的。不可變集合frozenset的元素可作為字典的鍵,但可變集合set就不行了。以下是字典類型的常用方法。clear():刪除字典中所有元素。copy():
Time of Update: 2016-06-06
麼是約瑟夫問題?約瑟夫問題是一個有趣的數學遊戲,遊戲規則如下:1、N個人圍成一個圈,編號從1開始,依次到N。2、編號為M的遊戲參與者開始報數,報數從1開始,後面的人報數接龍,直到K為止,報數為K的人將出局。3、出局者的下一個玩家接著從1開始報數,如此迴圈,直到剩下一個玩家時遊戲結束,這個玩家就是遊戲獲勝者。那麼問題來了,哪個編號是遊戲獲勝者呢?下面通過簡單的幾行python代碼來解決這個問題:#!/usr/bin/env python # Joseph Problem def
Time of Update: 2016-06-06
是不是有這麼一個情境,對外提供一堆資料或者是要返回給使用者一個結果。但是不想把內部的一些資料和邏輯暴露給對方。。。簡單點來說,就是想以服務的方式對外提供一個介面。對於這種有很多處理方式,RPC,搭建一個web服務啥的。。。。但是這些畢竟都太重量級了,操作起來很麻煩。我這裡給出的一種非常easy的方式來處理。使用bottle解決問題。需求: 檢查一個zookeeper服務中的某些節點是否存在,如果存在返回OK,不存在則給出不存的節點資訊。要求返回的資訊是和pyunit的結果資訊一致。實現環境:
Time of Update: 2016-06-06
Python列表List(列表) 是 Python 中使用最頻繁的資料類型。列表可以完成大多數集合類的資料結構實現。它支援字元,數字,字串甚至可以包含列表(所謂嵌套)。列表用[ ]標識。是python最通用的複合資料型別。看這段代碼就明白。列表中的值得分割也可以用到變數[頭下標:尾下標],就可以截取相應的列表,從左至右索引預設0開始的,從右至左索引預設-1開始,下標可以為空白表示取到頭或尾。加號(+)是列表串連運算子,星號(*)是重複操作。如下執行個體:#!/usr/bin/python# -*
Time of Update: 2016-06-06
先來看個執行個體#!/usr/bin/env python import sys def search2(a,m): low = 0 high = len(a) - 1 while(low m: high = mid - 1 else: print mid return mid print -1 return -1 if __name__ == "__main__": a = [int(i) for i in
Time of Update: 2016-06-06
Python身份運算子身份運算子用於比較兩個對象的儲存單元以下執行個體示範了Python所有身份運算子的操作:#!/usr/bin/pythona = 20b = 20if ( a is b ): print "Line 1 - a and b have same identity"else: print "Line 1 - a and b do not have same identity"if ( id(a) == id(b) ): print "Line 2 - a and b
Time of Update: 2016-06-06
無限迴圈如果條件判斷語句永遠為 true,迴圈將會無限的執行下去,如下執行個體:#!/usr/bin/python# -*- coding: UTF-8 -*-var = 1while var == 1 : # 該條件永遠為true,迴圈將無限執行下去 num = raw_input("Enter a number :") print "You entered: ", numprint "Good bye!"以上執行個體輸出結果:Enter a number :20You entered:
Time of Update: 2016-06-06
Python字串字串或串(String)是由數字、字母、底線組成的一串字元。一般記為 :s="a1a2···an"(n>=0)它是程式設計語言中表示文本的資料類型。python的字串列表有2種取值順序: 從左至右索引預設0開始的,最大範圍是字串長度少1 從右至左索引預設-1開始的,最大範圍是字串開頭 如果你的實要取得一段子串的話,可以用到變數[頭下標:尾下標],就可以截取相應的字串,其中下標是從0開始算起,可以是正數或負數,下標可以為空白表示取到頭或尾。比如:s =