本篇选了 Python 的五个实用代码小技巧,感兴趣的同学可以进行学习。

1、List:all_equal

实现:检验列表的所有元素是否一样

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

实现:列表所有值如果是唯一,返回 true,否则 false

tips:在列表使用集合 set( ) 去重,用结果比较原列表长度

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

实现:列表值进行分组,在 filter 元素如果是 true,那么对应元素属于第一个组,否则属于第二个组

tips:列表推导式和 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

实现:返回两个 iterables 间的差异

tips:创建 b 的集合,用 a 的列表推导式保留不在 _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

实现:一次性的整合列表

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]

以上就是小编为您带来的关于5个Python实用小技巧 的全部内容

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。