小编wis*_*ish的帖子

在Python中按数字阈值排序的有效方法?

给定一个字典流,每个字典都具有唯一的数字 ID,map基于不线性增加的阈值(<48、<103、 <123...)?我没有广泛研究itertools或其他有用的迭代库,我想不出比使用elifs更好的分组方式。

使用 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)

python python-3.x

3
推荐指数
1
解决办法
38
查看次数

标签 统计

python ×1

python-3.x ×1