为何遍历a只遍历3次?智商不够了,list里最后一个为何没遍历到?智商不够了。。。
a = ["asd_1","asd_2","3","4"] b = a for i in a: print(i) if i.find('asd_') < 0: b.remove(i)
输出:asd_1asd_23
学习是最好的投资!
リスト内の変更可能なオブジェクトのため、a と b は実際には同じアドレスのみを必要とします。b での削除は a の反復に影響します。信じられない場合は、a を出力して確認してください。 リーリー
リーリー
上記のコードでは、b は単なる a への参照です。b を変更すると、a も変更され、a の反復に直接影響します。
リスト内の変更可能なオブジェクトのため、a と b は実際には同じアドレスのみを必要とします。b での削除は a の反復に影響します。信じられない場合は、a を出力して確認してください。 リーリー
出力:リーリー
この時点でaの長さは3になりました上記のコードでは、b は単なる a への参照です。b を変更すると、a も変更され、a の反復に直接影響します。
お試しいただけますリーリー
またはリーリー