如何检查列表的所有元素是否符合条件?

30 浏览
0 Comments

如何检查列表的所有元素是否符合条件?

我有一个包含20000个列表的列表。我使用每个列表的第三个元素作为标志。只要至少有一个元素的标志为0,我想对这个列表进行一些操作,就像这样:

my_list = [["a", "b", 0], ["c", "d", 0], ["e", "f", 0], .....]

一开始,所有的标志都是0。我使用一个while循环来检查是否至少有一个元素的标志为0:

def check(list_):
    for item in list_:
        if item[2] == 0:
            return True
    return False

如果check(my_list)返回True,那么我就继续在我的列表上工作:

while check(my_list):
    for item in my_list:
        if condition:
            item[2] = 1
        else:
            do_sth()

实际上,我想在迭代过程中删除my_list中的一个元素,但是在迭代过程中不允许删除元素。

原始的my_list没有标志:

my_list = [["a", "b"], ["c", "d"], ["e", "f"], .....]

由于我不能在迭代过程中删除元素,所以我发明了这些标志。但是my_list包含很多项,而while循环在每个for循环中都会读取所有这些项,这需要很长的时间!你有什么建议吗?

0