如何检查 Python for 循环的任何(至少一次)迭代中某件事是否为真?

McL*_*odx 3 python

我试图找到一个变量是列表列表中任何列表的元素。如果它是其中任何一个元素,那么我正在使用continue移动到下一个块。如果它不是任何列表的成员,我想在列表列表中创建一个新列表,并将该变量作为该列表的唯一条目。

我问的原因是因为如果满足 if 语句,或者没有满足其他迭代,两种情况都会看到相同的结果,即经过此块的延续。

for group in groups:
    if point in group:
        continue
    else:

        # if point not an element of any group, 
          create group in groups with variable as only element
Run Code Online (Sandbox Code Playgroud)

更新:

这行得通吗?有没有更简洁的方法来做到这一点?

for group in groups:
    if point in group:
        groupCheck = 1
    else:
        pass
if not groupCheck:
    # Create a new list including point
Run Code Online (Sandbox Code Playgroud)

Ign*_*ams 6

反转您的逻辑,并使用循环else子句for来创建新组。

for group in groups:
  if point in group:
    break
else:
  create_new_group(point)
Run Code Online (Sandbox Code Playgroud)

或者只是使用any().

if not any(point in group for group in groups):
  create_new_group(point)
Run Code Online (Sandbox Code Playgroud)