1. 程式人生 > >Python中小函式整理

Python中小函式整理

zip函式:

zip函式用於在將可迭代物件作為引數,將物件對應的元素打包成一個元組,然後返回由這些元組組成的列表。如果各個迭代器的元素個數不一致,則返回列表長度和最短的物件相同嗎,利用*操作符,可以將列表解壓為列表。
a = [1,2,3]
 b = [4,5,6]
 c = [4,5,6,7,8]
 zipped = zip(a,b)     # 打包為元組的列表
輸出結果:[(1, 4), (2, 5), (3, 6)]
 zip(a,c)              # 元素個數與最短的列表一致
輸出結果:[(1, 4), (2, 5), (3, 6)]
 zip(*zipped)          # 與 zip 相反,*zipped 可理解為解壓,返回二維矩陣式
輸出結果:[(1, 2, 3), (4, 5, 6)]

dict函式:

dict函式時 用來生成一個字典。

dict 語法:

class dict(**kwarg)
class dict(mapping, **kwarg)
class dict(iterable, **kwarg)

引數說明:

**kwargs -- 關鍵字
mapping -- 元素的容器。
iterable -- 可迭代物件。

返回值

返回一個字典。

例項
以下例項展示了 dict 的使用方法:

	dict()                        # 建立空字典
輸出結果;{}
	 dict(a='a', b='b', t='t')     # 傳入關鍵字
輸出結果:{'a': 'a', 'b': 'b', 't': 't'}
	dict(zip(['one', 'two', 'three'], [1, 2, 3]))   # 對映函式方式來構造字典
輸出結果:{'three': 3, 'two': 2, 'one': 1} 
 	dict([('one', 1), ('two', 2), ('three', 3)])    # 可迭代物件方式來構造字典
輸出結果:{'three': 3, 'two': 2, 'one': 1}

range函式和xrange函式:

range函式和xrange函式的效果是一樣的,不同的地方是range是返回一個列表,但是xrange返回結果是一個生成器。range會直接開闢一塊記憶體儲存資料,xrange是會等到用的時候才會佔用一塊記憶體空間。因此,在儲存一個大的資料的時候,xrange會對效能更佳。

xrange 語法:

xrange(stop)
xrange(start, stop[, step])

引數說明:

start: 計數從 start 開始。預設是從 0 開始。例如 xrange(5) 等價於 xrange(0, 5)
stop: 計數到 stop 結束,但不包括 stop。例如:xrange(0, 5) 是 [0, 1, 2, 3, 4] 沒有 5
step:步長,預設為1。例如:xrange(0, 5) 等價於 xrange(0, 5, 1)

例項:

>>>xrange(8)
xrange(8)
>>> list(xrange(8))
[0, 1, 2, 3, 4, 5, 6, 7]
>>> range(8)                 # range 使用
[0, 1, 2, 3, 4, 5, 6, 7]
>>> xrange(3, 5)
xrange(3, 5)
>>> list(xrange(3,5))
[3, 4]
>>> range(3,5)               # 使用 range
[3, 4]
>>> xrange(0,6,2)
xrange(0, 6, 2)              # 步長為 2
>>> list(xrange(0,6,2))
[0, 2, 4]