Python小技巧:列表推导式替代循环遍历

Posted 不剪发的Tony老师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python小技巧:列表推导式替代循环遍历相关的知识,希望对你有一定的参考价值。

大家好,我是只谈技术不剪发的 Tony 老师。

今天介绍的 Python 小技巧是列表推导式(List Comprehension),它可以用来替代 for 循环,不但容易理解,而且性能也会更好。

# Python 列表推导式

vals = [expression 
        for value in collection 
        if condition]

# 等价于:

vals = []
for value in collection:
    if condition:
        vals.append(expression)

# 示例:

>>> even_squares = [x * x for x in range(10) if not x % 2]
>>> even_squares
[0, 4, 16, 36, 64]

使用列表推导式实现嵌套循环:

>>> print([x*y for x in [1,2,3] for y in  [1,2]])
[1, 2, 2, 4, 3, 6]

>>> for x in [1,2,3]:
...   for y in [1,2]:
...     print(x*y)
...
1
2
2
4
3
6

如果你觉得文章有用,欢迎评论📝、点赞👍、推荐🎁

以上是关于Python小技巧:列表推导式替代循环遍历的主要内容,如果未能解决你的问题,请参考以下文章

python推导式创建序列

[学习记录]Python技巧总结(不定期更新,长期记录)

python列表生成式列表推导式

Python推导式

python中的列表推导式

Python小知识:推导式用法大全,Comprehension