gpt4 book ai didi

c# - 将 List 拆分为连续数字组

转载 作者:行者123 更新时间:2023-11-30 13:18:45 25 4
gpt4 key购买 nike

<分区>

我有一个排序的 List<int>喜欢{ 1, 2, 3, 4, 6, 7, 9 }
我想把它分成一些组——每个组都有这样的连续数字:{ {1, 2, 3, 4}, {6, 7}, {9} }

我知道我可以使用 for循环遍历列表,比较当前值和上一个值,然后决定是追加到最后一组还是创建一个新组。但我想找到一种“漂亮”的方法来做到这一点。也许使用 LINQ?

编辑:

我从项目 more-itertools 中找到了一个 python 代码:

def consecutive_groups(iterable, ordering=lambda x: x):
for k, g in groupby(
enumerate(iterable), key=lambda x: x[0] - ordering(x[1])
):
yield map(itemgetter(1), g)

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com