python - dict上的对(Python)
问题描述
我有一个带有 id 和随机生成年龄的字典。例如(年龄随机):
json = {0: {'age': 14},
1: {'age': 23},
2: {'age': 43},
3: {'age': 29}
我有一个范围。例如 [5;20]。我想像这样遍历数组:
0->1, 0->2, 0->3 #FIX
1->2, 1->3
2->3
我想检查它是否符合条件5 < abs(n-m) < 20
。
1)。0 与 1:
if 5 < abs(json[0]['age']-json[1]['age']) < 20:
pass
2)。0 与 2:
if 5 < abs(json[0]['age']-json[2]['age']) < 20:
pass
n)。n 与 m:
if 5 < abs(json[n]['age']-json[m]['age']) < 20:
pass
所以它们都应该在彼此的范围内。事实上,有几个范围,但我认为一个就足够了。我真的不明白如何在 Python 中实现这一点,请帮忙。也许它有帮助:
解决方案
代码方法应如下所示:
def checkRange(bottom, top, data):
lastkey=list(data.keys())[-1]
for key in data.keys():
for x in range(key+1, lastkey+1):
if bottom<abs(data[key]['age']-data[x]['age']) < top:
pass
else:
print(key, x)
data = {0: {'age': 14},
1: {'age': 23},
2: {'age': 43},
3: {'age': 29}}
checkRange(5,20,data)
而不是打印或传递,您可以选择做什么!
推荐阅读
- javascript - React 本机 flatlist 项目保持选中状态;道具变了
- admob - Admob 显示测试广告,但我的广告没有出现
- java - 将多个数据源注入单个 EntityManagerFactory?
- r - 在特定行之后过滤数据
- jenkins - 当我尝试使用内部 ip 进行 curl 时,它可以工作,但对于 GCP 上的外部 ip,同样不能工作?
- angular - 从 Angular 5 中的 URL 获取数据
- angular - 将 Angular CLI 1.7.3 升级到 6.2.2 后的问题
- excel - 使用 WPF (OLEDB) 在 Excel 中保存序列号
- python - 保护用于签名 Chrome WebExtension 的私钥
- linux - bash - 基于进程条件的返回值