我想知道一个列表中的一个数字是否连续被发现j次,这是我的列表:
list=[[1, 1, 1,1],
[0, 0, 0,0],
[2, 2, 2,2]
[2, 2, 2,2]]
这就是我写的:
def alignment(list,n,j):
for y in range (n):
for x in range (n-j):
counter = 0
for z in range(j):
if list[y][x]== list[y][x+z]:
counter+=1
if counter == j :
return True
但是这个函数将检查是否连续找到任何数字,我想给这个函数添加另一个参数,这样我就可以指定我想在列表中查找的数字。 n表示有n行和n列,j表示需要查找的次数。你知道吗
你的要求不清楚。然而,这将是一个稍微修改过的代码版本,它将产生我相信您正在寻找的东西。你知道吗
目标是您想知道是否有j连续条目的数字。你知道吗
您的代码有一些问题:
n
参数,您可以使用len(list)
获得列表的大小list
作为变量名,因为它隐藏了内置的list
函数for x in range (n-j)
中,假设每个子列表的元素数与父列表的元素数相同j
,则函数也会返回True
您可以解决这个问题,还可以为要重复的数字添加参数,如其他答案所示。但是,仅使用循环和条件,生成的代码将非常笨拙。你知道吗
相反,您可以使用} 创建所描述的函数。
any
和^{groupby
组等于数字,那么您只需检查这些组的len
,看看any
是否足够长,以及它是否是子列表any
的正确数字。你知道吗如果
num
在任何子列表中连续出现count
次,则返回True
。你知道吗不需要
n
参数。你知道吗相关问题 更多 >
编程相关推荐