私は20000のリストからなるリストを持っています。各リストの 3 番目の要素をフラグとして使用します。少なくとも 1 つの要素のフラグが 0 である限り、このリストに対していくつかの操作を実行したいのですが、次のようになります。
my_list = [["a", "b", 0], ["c", "d", 0], ["e", "f", 0], .....]
最初は、すべてのフラグが 0 です。while ループを使用して、少なくとも 1 つの要素のフラグが 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
多くの時間を消費します! 何か提案はありますか?