列表解析python
[i for i in range(1, 11) ] [i for i in range(1, 100) if i%2==0 if i!=50] a = list() for i in range(1, 100): if i % 2 == 0: if i != 50: a.append(i) [expr for i in iterable1 for j in iterable2 ] ret = list() for i in range(1, 101): for j in range(2, 5): ret.append([i, j]) [(i,j) for i in range(7) if i>4 for j in range(20,25) if j>23] [(i,j) for i in range(7) for j in range(20,25) if i>4 if j>23] [(i,j) for i in range(7) for j in range(20,25) if i>4 and j>23]
生成器表達式
(返回值 for 元素 in 可迭代對象 if 條件)web
g = ("{:04}".format(i) for i in range(1, 101))
集合解析式
{返回值 for 元素 in 可迭代對象 if 條件}app
{[i] for i in range(1, 11)} {(i, i+1) for i in range(1, 11)}
字典解析式
{返回值 for 元素 in 可迭代對象 if 條件}svg
{x:(x,x+1) for x in range(10)} {x:[x,x+1] for x in range(10)} {(x,):[x,x+1] for x in range(10)} {[x]:[x,x+1] for x in range(10)} # {chr(0x41+x):x**2 for x in range(10)} {str(x):y for x in range(3) for y in range(4)}