You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求实现:筛选c1列值之和≤10的索引集合并保存为列表

问题描述

现有如下数据:

Index     c1
sls1      6    
sls2      4
sls3      7
sls4      5
sls5      5

需求:通过循环筛选出满足对应c1列值之和≤10的索引集合,将这些索引集合保存为列表形式输出。示例输出如下:

output
[sls1, sls2]
[sls3]
[sls4, sls5]

示例说明:第一组[sls1,sls2]是因为二者c1值之和为10;第二组仅sls3是因为其c1值为7,若与下一个索引值相加会超过10,以此类推。

解决方案

可以通过Python循环遍历数据,维护当前组的索引列表和累加和,当加入下一个元素会超出阈值时,就将当前组存入结果并开启新组。代码实现如下:

# 原始数据,以(索引, c1值)元组的形式存储
data = [("sls1", 6), ("sls2", 4), ("sls3", 7), ("sls4", 5), ("sls5", 5)]

result = []
current_group = []
current_sum = 0

for idx, val in data:
    # 判断当前值加入后是否仍满足和≤10
    if current_sum + val <= 10:
        current_group.append(idx)
        current_sum += val
    else:
        # 保存当前组,开启新组
        result.append(current_group)
        current_group = [idx]
        current_sum = val
# 处理最后一组未存入的数据
result.append(current_group)

# 输出结果
print("output")
for group in result:
    print(group)

运行代码后输出与示例一致:

output
['sls1', 'sls2']
['sls3']
['sls4', 'sls5']

内容的提问来源于stack exchange,提问作者Sari Devi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 19:15:32