python列表生成式、列表推导式

运用列表生成式,可以快速生成list,可以通过一个list推导出另一个list,而代码却十分简洁。

格式

[x for x in 内容]

[x for x in 内容 if 条件]

1:要把生成的元素x放到前面,执行的时候,先执行后面的for循环

2:后面跟上for循环 可以有多个for循环,也可以在for循环后面加个if条件

3:for循环后面可以是任何方式的迭代器(元组,列表,生成器。。)只要可以迭代的对象中有一个值。

1:单循环列表生成式

字符串生成列表  

print([x for x in 'abcd'])#['a', 'b', 'c', 'd']

列表生成列表

print([x for x in range(10)] )#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

列表生成列表 if条件

print([x for x in range(10) if x > 5] )#[6, 7, 8, 9]

2:双循环列表生成式

print( [m + n for m in 'ABC' for n in 'XYZ'])#['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']

参看文档:列表生成式--廖老师博客