Python 循环浏览一个列表,查找数字何时停止以相同的速度增长

Python 循环浏览一个列表,查找数字何时停止以相同的速度增长,python,list,loops,Python,List,Loops,我有一个数字列表,最初以相同的速度增长。例如: [0,3,6,9,12,15,18...] 但是,当到达列表中的某个点时,值的增加实际上会增加 [0,3,6,9,12,15,18...150,156,162,168,174...240] 我想循环这个列表并创建两个新列表。一个是数字增加3,另一个是数字开始增加6。但是,我不知道如何准确地编写代码来检测何时发生这种更改 预期结果: [0,3,6,9,12,15,18...,147] [150156162168174…240]def拆分列表(列表

我有一个数字列表,最初以相同的速度增长。例如:

[0,3,6,9,12,15,18...]
但是,当到达列表中的某个点时,值的增加实际上会增加

[0,3,6,9,12,15,18...150,156,162,168,174...240]
我想循环这个列表并创建两个新列表。一个是数字增加3,另一个是数字开始增加6。但是,我不知道如何准确地编写代码来检测何时发生这种更改

预期结果: [0,3,6,9,12,15,18...,147] [150156162168174…240]

def拆分列表(列表):
def splitList(list):
    if(len(list) < 2):
        return [], []
    listX = []
    listY = []
    dif = list[1] - list[0]
    for e in list:
        if(e == list[0]):
            listX.append(e)
        elif(e - listX[len(listX)-1] == dif):
            listX.append(e)
        else:
            listY.append(e)
    return listX, listY
如果(len(列表)<2): 返回[],[] listX=[] listY=[] dif=列表[1]-列表[0] 对于列表中的e: 如果(e==列表[0]): listX.append(e) elif(e-listX[len(listX)-1]==dif): listX.append(e) 其他: listY.append(e) 返回listX,listY
检查这个

test_list=[0,3,6,9,12,15,18,21,27,33,39,45] #=== List 
list_3=[]
list_6=[]
new_list=[]
for j,i in enumerate(test_list): #=== Gives index number for each element in the list
    try: #== Check for exceptions, if one occurs, goes to 'except:' statement
        op=test_list[j+1] #== Get the elements from index position 1 ahead of the current ome
        if op-3==i: #== check if the the difference is 3
            
            list_3.append(i)
        elif op-6==i: #== check if the the difference is 6
            
            list_6.append(i)
    except:
        pass
new_list.append(list_3)
new_list.append(list_6)
print(new_list)

关于这个任务,你的问题是什么?听起来你已经弄明白了逻辑(循环列表,生成两个新列表,一个是每个连续元素的差值为3,另一个是差值为6)。在编码过程中,你有没有什么特别的地方被卡住了?是的,你想知道如何编写代码来检测数字何时停止以同样的速度增长。你想知道什么?不确定你在问什么。我清楚地知道我想要完成什么。我只是不确定用什么逻辑来检测数字何时停止以同样的速度增长。