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

需求实现:统计连续整数序列长度并映射至对应id

解决连续整数序列长度匹配问题

嘿,我来帮你搞定这个需求!你手里有个带id字段的数据集,id取值是1、2、3、4、7、8,现在要给每个id标注它所在的连续整数序列的长度对吧?我给你捋清楚实现思路,再附上可运行的代码示例。

实现思路

  • 先确保id列表是有序的(毕竟实际数据集可能不是按顺序给出的,排序后更方便识别连续区间)
  • 遍历排序后的id,把连续的整数归为一个区间,比如这里的1-4和7-8,每个区间的长度就是4和2
  • 最后把每个id映射到对应区间的长度,按原始id顺序输出结果即可

代码示例(Python)

# 原始id列表
ids = [1, 2, 3, 4, 7, 8]
# 先排序(应对原始数据无序的情况)
sorted_ids = sorted(ids)

# 识别所有连续整数区间
intervals = []
current_start = sorted_ids[0]
current_end = sorted_ids[0]

for id in sorted_ids[1:]:
    if id == current_end + 1:
        current_end = id
    else:
        intervals.append((current_start, current_end))
        current_start = id
        current_end = id
# 添加上最后一个区间
intervals.append((current_start, current_end))

# 构建id到对应序列长度的映射
id_count_map = {}
for start, end in intervals:
    sequence_length = end - start + 1
    # 给区间内的每个id赋值长度
    for id in range(start, end + 1):
        id_count_map[id] = sequence_length

# 按原始id顺序输出结果
print("id count")
for id in ids:
    print(f"{id} {id_count_map[id]}")

运行结果

运行上面的代码后,会得到你预期的输出:

id count
1 4
2 4
3 4
4 4
7 2
8 2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 09:47:46