2024-09-18 01:44:33 发布
网友
我有一个这样的键值对:
'NANOUSDT.csv.gz': 15, 'ENJUSDT.csv.gz': 19, 'DGBBTC.csv.gz': 0, 'BTSUSDT.csv.gz': 1, 'BLZBTC.csv.gz': 42, 'BANDUSDT.csv.gz': 14, 'ETCUSDT.csv.gz': 202
它包含大约300多个项目。有些是大的。有些是小的。我想创建具有以下条件的密钥列表:
没有一件物品的尺寸超过10000
我怎样才能做到这一点
下面是一个例子:
kvs = {'1': 9999, '2': 19, '3': 0, '4': 1, '5': 42, '6': 14, '7': 14, '8': 14, '9': 14, '10': 14, '11': 10000} buckets = [] cur_bucket = [] weight_so_far = 0 for k, v in kvs.items(): if len(cur_bucket) == 8 or weight_so_far + v > 10000: buckets.append(cur_bucket) cur_bucket = [] weight_so_far = 0 weight_so_far += v cur_bucket.append(k) if cur_bucket: buckets.append(cur_bucket) print(buckets)
输出
[['1'], ['2', '3', '4', '5', '6', '7', '8', '9'], ['10'], ['11']]
这就是你要找的吗
下面是一个例子:
输出
这就是你要找的吗
相关问题 更多 >
编程相关推荐