python list使用示例 list中找连续的数字


在Python中,如果你想要在一个列表中查找连续的数字序列,你可以通过遍历列表并使用一些辅助逻辑来实现。以下是一个简单的示例,它演示了如何查找并打印出列表中所有的连续数字序列(假设我们寻找的是递增的连续序列):


def find_consecutive_numbers(nums):
    """
    查找并打印列表中的所有连续数字序列
    :param nums: 输入的整数列表
    """
    if not nums:
        return  # 如果列表为空,则直接返回

    consecutive = []  # 用于存储当前连续序列的列表
    results = []  # 用于存储所有找到的连续序列

    for num in nums:
        # 如果当前数字与前一个数字的差为1,则加入当前数字到连续序列中
        if consecutive and num == consecutive[-1] + 1:
            consecutive.append(num)
        else:
            # 如果当前数字不连续,则先检查并可能打印之前的连续序列
            if consecutive:
                results.append(consecutive)
                consecutive = [num]  # 重置连续序列为当前数字
            else:
                # 如果当前数字是第一个数字,则直接开始新的连续序列
                consecutive = [num]

    # 不要忘记添加列表末尾的连续序列(如果有的话)
    if consecutive:
        results.append(consecutive)

    # 打印结果,可以根据需要修改输出格式
    for seq in results:
        print(seq)

# 示例
nums = [1, 2, 3, 5, 6, 7, 9, 10, 11, 12]
find_consecutive_numbers(nums)

这段代码定义了一个`find_consecutive_numbers`函数,它接受一个整数列表作为输入,并打印出列表中所有的连续数字序列。注意,这个函数假定你想要找到的是递增的连续序列。如果你需要查找递减的连续序列,你可以通过修改条件`num == consecutive[-1] + 1`来实现,比如改为`num == consecutive[-1] - 1`。