python的一些高级特性(列表生成式)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python的一些高级特性(列表生成式)相关的知识,希望对你有一定的参考价值。

列表生成式

如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么做?

>>> [x * x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

for循环后面还可以加上if判断,这样我们就可以筛选出仅偶数的平方:

>>> [x * x for x in range(1, 11) if x % 2 == 0]
[4, 16, 36, 64, 100]

还可以使用两层循环,可以生成全排列:

>>> [m + n for m in ABC for n in XYZ]
[AX, AY, AZ, BX, BY, BZ, CX, CY, CZ]

因此,列表生成式也可以使用两个变量来生成list:

>>> d = {x: A, y: B, z: C }
>>> [k + = + v for k, v in d.items()]
[y=B, x=A, z=C]

 

以上是关于python的一些高级特性(列表生成式)的主要内容,如果未能解决你的问题,请参考以下文章

Python的高级特性有哪些?

Python高级特性:Python迭代生成器列表生成式

[3][高级特性]列表生成式[3]

python学习之高级特性

Python--高级特性

python之高级特性