Python 列表迭代具有“断点”的数字序列

问题描述 投票:0回答:1

我有一个号码列表:

列表 = [1,2,3,1,2,3,4,1,2,3,4,5,1,2,3,4,5,6,7,8]

我想通过迭代获取每个断点的所有数字。比方说 从 3 到 1 我想保留 3,从 4 到 1 我想保留 4 并保留列表的最后一个数字 并将其附加到新列表中。我想要一个输出:

新列表 = [3,4,5,8]

python for-loop if-statement while-loop append
1个回答
0
投票

要记录每个递增序列的末尾,您可以迭代列表,同时跟踪最后一个数字并将其与当前数字进行比较。这是完成此任务的简单循环的示例

list = [1,2,3,1,2,3,4,1,2,3,4,5,1,2,3,4,5,6,7,8]
newList = []
lastNum = 0
for i, num in enumerate(list):
    if i > 0 and num < lastNum:
        newList.append(lastNum)
    lastNum = num
newList.append(list[len(list)-1])
print(newList)
© www.soinside.com 2019 - 2024. All rights reserved.