我找不到一个类似的问题,可以让我开发出令人满意的答案。
我对Python(3.4.3)还比较新。我试图使用for循环将元素添加到输出列表中,通过比较输入列表中的每个元素和它后面的元素。
这是我的代码:
random_list=[1,4,5,6,7,9,19,21,22,23,24]
def count_consec(random_list):
count=1
consec_list=[]
for i in listrand:
if listrand[i] == listrand[i+1]+1:
count+=1
else:
list.append(count)
return consec_list
基本上,我想将代表
random_list[]
中连续数字块长度的值添加到consec_list[]
中。在这种情况下,我希望输出如下所示:
[1,4,1,1,4]
这里有一个单一的数字,后面跟着4个连续的数字,再后面是一个单一的数字,接下来是一个单一的数字,最后是4个连续的数字。
我尝试了很多不同的方法,已经得到了构建列表的函数,但所有元素都是1。
listrand
未定义。 - RomanPerekhrest1
,然后4、5、6、7
是4个连续的数字,所以是4
,然后9
不与列表中前一个或后一个数字连续,因此是“singular”(单数),“19”同样不与列表中其他数字连续:“singular”,因此再加上一个1
,然后21、22、23、24
是4
个连续的数字:因此为[1, 4, 1, 1, 4]
。不用担心,下面的答案会更清晰明了。 :) - chickity china chinese chicken