本篇選了 Python 的五個實用代碼小技巧,感興趣的同學(xué)可以進行學(xué)習(xí)。
1、List:all_equal
實現(xiàn):檢驗列表的所有元素是否一樣
tips:實用 [1:] 和 [:-1] 來比較列表的所有元素
def all_equal(lst):
return lst[1:] == lst[:-1]
實例:
all_equal([1, 2, 3, 4, 5, 6]) # False
all_equal([1, 1, 1, 1]) # True
2、List:all_unique
實現(xiàn):列表所有值如果是唯一,返回 true,否則 false
tips:在列表使用集合 set( ) 去重,用結(jié)果比較原列表長度
def all_unique(lst):
return len(lst) == len(set(lst))
實例:
x = [1,2,3,4,5,6]
y = [1,2,2,3,4,5]
all_unique(x) # True
all_unique(y) # False
3、List:bifurcate
實現(xiàn):列表值進行分組,在 filter 元素如果是 true,那么對應(yīng)元素屬于第一個組,否則屬于第二個組
tips:列表推導(dǎo)式和 enumerate( ) 基于 filter 元素到各組
def bifurcate(lst, filter):
return [
[x for i,x in enumerate(lst) if filter[i] == True],
[x for i,x in enumerate(lst) if filter[i] == False]
]
實例:
bifurcate(['beep', 'boop', 'foo', 'bar'], [True, True, False, True])
# [ ['beep', 'boop', 'bar'], ['foo'] ]
4、List:difference
實現(xiàn):返回兩個 iterables 間的差異
tips:創(chuàng)建 b 的集合,用 a 的列表推導(dǎo)式保留不在 _b 中的元素
def difference(a, b):
_b = set(b)
return [item for item in a if item not in _b]
實例:
difference([1, 2, 3], [1, 2, 4]) # [3]
5、List:flatten
實現(xiàn):一次性的整合列表
tips:使用嵌套的列表提取子列表的每個值
def flatten(lst):
return [x for y in lst for x in y]
實例:
flatten([[1,2,3,4],[5,6,7,8]]) # [1, 2, 3, 4, 5, 6, 7, 8]
以上就是小編為您帶來的關(guān)于5個Python實用小技巧 的全部內(nèi)容