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)。在编码过程中,你有没有什么特别的地方被卡住了?是的,你想知道如何编写代码来检测数字何时停止以同样的速度增长。你想知道什么?不确定你在问什么。我清楚地知道我想要完成什么。我只是不确定用什么逻辑来检测数字何时停止以同样的速度增长。