【发布时间】:2021-02-11 08:36:48
【问题描述】:
我有一个列表集合,每个列表包含 16 个项目,我想找到具有 12 个连续值 > 或
if list.count(-1) >= 12 or list.count(1) >= 12:
如何有效地检查 12 个连续值? (可以循环 12 个值)例如这会计数
[1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1]
目前我有 2 个嵌套的 for 循环,但我知道这会多次检查相同的值。
for i in range(16):
light = 0
dark = 0
for j in range(12):
index = i + j
if index > 15:
index -= 15
if list[index] == 1:
light += 1
elif list[index] == -1:
dark += 1
else:
break
if dark > 0 and light > 0:
break
if dark == 12 or light == 12:
return True
【问题讨论】:
-
编写一个函数,返回一个带有环绕的子列表。然后遍历索引,调用函数并检查它们是否都相等。