如何检查列表的所有元素是否符合条件?
- 论坛
- 如何检查列表的所有元素是否符合条件?
30 浏览
如何检查列表的所有元素是否符合条件?
我有一个包含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循环中都会读取所有这些项,这需要很长的时间!你有什么建议吗?