リスト内包表記が変数のスコープを制限するべきではありません。
user = <user1>
project.users = [<user1>, <user2>, <user3>, <user4>]
project_usernames = [user.username for user in project.users]
project.users のリスト内包表記を使用して、project_usernames リストを生成しています。しかし、<user4>
以前のユーザーを変更しています<user1>
。
プロジェクトの 1 つで上記のフローを使用していますが、このバグのために機能していませんでした。
後で、リスト内包表記で変数「user」を変更すると、正しく機能しました。
内のエンティティが<>
参照する<object>
インタープリターが行ごとに機能することは知っていますが、反復が終了すると、リスト内包表記で使用される変数のスコープが死ぬべきではありませんか?