给定一个字典流,每个字典都具有唯一的数字 ID,map
基于不线性增加的阈值(<48、<103、 <123...)?我没有广泛研究itertools
或其他有用的迭代库,我想不出比使用elif
s更好的分组方式。
使用 if/elif/else 的示例:
dicts = [{'id':30},{'id':60},{'id':90},{'id':120},{'id':150}]
groups = [[] for _ in range(5)]
for a_dict in dicts:
ID = a_dict['id']
if ID < 50: groups[0].append(ID)
elif ID < 100: groups[1].append(ID)
elif ID < 150: groups[2].append(ID)
elif ID < 200: groups[3].append(ID)
else: groups[4].append(ID)
Run Code Online (Sandbox Code Playgroud)
输出:
>>> print(groups)
[[30], [60, 90], [120], [150], []]
Run Code Online (Sandbox Code Playgroud)