列表理解的优雅总结

列表理解很棒。是否有一种优雅、灵活的方式来进行列表理解,在项目进行时项目相互附加,而不是将它们全部放在一个列表中?

IE,我有一些理解[func(x) for x in y if z]会吐出来[['a','b'],['c','d'],['e','f']],我可以写什么来代替吐出来['a','b','c','d','e','f']

显然我可以做到

alist = []

for x in y:
    if z:
        alist += func(x)

但那是四五行代码!感觉必须有一种方法可以像列表理解一样简单易行。

回答

[elem for x in y if z for elem in func(x)]

只需添加另一层迭代。


以上是列表理解的优雅总结的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>