python - Python - 迭代嵌套循环
问题描述
首先,我确信以前有人问过这样一个基本的问题,但我找不到关于它的帖子。
我有这段示例数据:
'192.168.244.213': ['8', '4', '3', '1', '6', '5', '3', '2', '6', '5'],
'192.168.244.214': ['6', '8', '7', '6', '5', '4', '2', '7', '5', '5'],
'192.168.244.215': ['4', '10', '0', '8', '7', '0', '4', '3', '2', '6'],
'192.168.244.230': ['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
我想打印出具有列表值的每一行(每一行是一个字典键值对),其列表包含任何数量的非 0 项目(在这种情况下,除了第 4 行之外的每一行)
我似乎无法弄清楚这个看似简单的事情 - 我之前尝试过的是这两件事:
for i in d.keys():
if "0" not in d[i]:
print(i, d[i])
这一个只显示不包含 0 AT ALL 的列表 - 所以第三行不会显示,即使它包含非 0 值
for i in d.keys():
for j in d[i]:
if j is not "0":
print(i, d[i])
这个确实向我展示了我想要的东西,但是正如您所知,它过于频繁地打印每个结果 - 每个非 0 的列表值打印一个。
解决方案
你可以简单地迭代
def all_zero(arr):
for i in arr:
if i != 0:
return False
else:
return True
您可以在所有列表中一一调用它。
推荐阅读
- corda - 当交易方的 Corda Bridge 尝试与 Notary 节点连接时 SSL 握手超时
- java - 如何在处理中返回矩形边界内的任何点?
- oauth-2.0 - Docebo oAuth2 JWT 持有者 - 公钥无效?
- python - 在 Python 中将文本图像覆盖到脏背景图像
- javascript - 反应将数组添加到状态数组
- mysql - 如何在服务器版本中启用 innodb:10.2.30-MariaDB
- android - 滚动视图和嵌套滚动视图不起作用
- ios - 如何在 WKWebView Swift 中提交表单?
- django - 分页不适用于 django rest_framework 中的视图集
- sql - Oracle:如何在不丢失数据的情况下将列数据类型从 VARCHAR 更改为 NUMBER