我有一个包含20000个列表的列表。我将每个列表的第3个元素用作标志。只要至少一个元素的标志为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循环中读取所有这些项,这会花费大量时间!你有什么建议吗?
牧羊人nacy
噜噜哒
相关分类