Python中小函式整理
阿新 • • 發佈:2018-11-30
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]