高级用法

第一种

def not_empty(s):
   return s and s.strip()

filter(not_empty, ['A', ' ', 'C', '', None, 'B']
# ['A', 'C', 'B']

在Python中,

  1. andor的逻辑
    'A' and 'B'返回'B''A' or 'B'返回'A'
  2. s and s.strip()
    前面的s是为了判断s是不是None值。
    然后返回去除空格的字符串。

第二种

instead

result = []
for item in item_list:
  new_tiem = do_something_with(item)
  result.append(new_item)

with

result = [do_something_with(item) for item in item_list]

Generator Expression

result = (do_something_with(item) for item in item_list)

instead

results = []
for i in range(10):
  for j in range(i):
    results.append((i,j))

with

results = [(i, j)
            for i in range(10)
            for j in range(i)]

你可能感兴趣的:(高级用法)