Python 语法糖
\,换行连接
1 2 3 4 5 6 7 |
s = '' s += 'a' + 'b' + 'c' n = 1 + 2 + 3 # 6 |
while,for 循环外的 else
如果 while 循环正常结束(没有break退出)就会执行else。
1 2 3 4 5 6 7 8 9 |
num = [1,2,3,4] mark = 0 while mark < len(num): n = num[mark] if n % 2 == 0: print(n) # break mark += 1 else: print("done") |
zip() 并行迭代
1 2 3 4 |
a = [1,2,3] b = ['one','two','three'] list(zip(a,b)) # [(1, 'one'), (2, 'two'), (3, 'three')] |
列表推导式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
x = [num for num in range(6)] # [0, 1, 2, 3, 4, 5] y = [num for num in range(6) if num % 2 == 0] # [0, 2, 4] # 多层嵌套 rows = range(1,4) cols = range(1,3) for i in rows: for j in cols: print(i,j) # 同 rows = range(1,4) cols = range(1,3) x = [(i,j) for i in rows for j in cols] |
字典推导式
{ key_exp : value_exp fro expression in iterable }
1 2 3 |
#查询每个字母出现的次数。 strs = 'Hello World' s = { k : strs.count(k) for k in set(strs) } |
集合推导式
{expression for expression in iterable }
元组没有推导式
本以为元组推导式是列表推导式改成括号,后来发现那个 生成器推导式。
生成器推导式
1 2 3 |
>>> num = ( x for x in range(5) ) >>> num ...:<generator object <genexprn-i">num ...:<generator object <genexpr15px !important;">
while,for 循环外的 else如果 while 循环正常结束(没有break退出)就会执行else。
zip() 并行迭代
列表推导式
字典推导式{ key_exp : value_exp fro expression in iterable }
集合推导式{expression for expression in iterable } 元组没有推导式本以为元组推导式是列表推导式改成括号,后来发现那个 生成器推导式。 生成器推导式
|