m, n = map(int, input().split()) matrix = [] for i in range(m): row = list(map(int, input().split())) matrix.append(row) rowZeroCount = [0] * m colZeroCount = [0] * n for i in range(m): for j in range(n): if matrix[i][j] == 0: rowZeroCount[i] += 1 colZeroCount[j] += 1 print(len(list(filter(lambda val: val >= n // 2, rowZeroCount)))) print(len(list(filter(lambda val: val >= m // 2, colZeroCount)))) 这段代码的输出还可以怎么写
时间: 2024-04-16 09:24:03 浏览: 221
输入两个非负整数m,n(n>=m) 输出m,n区间的所有平方数之和 例如: 输入: 4,9 输出: 13
这段代码的输出部分已经是比较简洁和有效的写法了。不过,如果你想进一步简化代码,可以考虑使用列表推导式来计算满足条件的行数和列数,并直接打印输出结果。
下面是使用列表推导式的代码示例:
```python
print(sum(1 for val in rowZeroCount if val >= n // 2))
print(sum(1 for val in colZeroCount if val >= m // 2))
```
这种写法通过遍历`rowZeroCount`和`colZeroCount`列表,对满足条件的元素计数,并使用`sum`函数求和结果,即满足条件的行数和列数。
希望这个替代的写法对你有帮助!如果你还有其他问题,请随时提问。
阅读全文