python - 在单行中嵌套 for 循环
问题描述
我有一个逻辑需要计算迭代
counts = []
for .. in ..:
count = 0
for .. in ..:
if ..:
count +=1
counts.append(count)
如何在python中将此逻辑更改为单行循环
解决方案
sum()
与嵌套列表推导一起使用:
counts = [sum([1 for c in b if p(c)]) for b in a]
这相当于:
counts = []
for b in a:
count = 0
for c in b:
if p(c):
count = count + 1
counts.append(count)
推荐阅读
- c# - ML.Net 数组数据输入
- python - AttributeError:“模块”对象没有属性“DataFrame”
- git - 如何恢复尚未提交的 Git 更改?
- ansible - 获取本地主机上文件的绝对路径
- c++ - QtQuick 使用 QQuickTextNode
- java - 为request.setAttribute()发送多个属性
- c++ - 提升精神 x3 变体和 std::pair
- sql - 如何更改 Azure SQL 数据库中的用户角色?
- ios - 动态改变 UIPageControl.appearance 圆点的背景颜色
- regex - 正则表达式以任何顺序匹配包含两个(或多个)单词且不区分大小写的字符串