Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Python から C++ にいくつかのコードを翻訳しています。私は以下に出くわしました:
set(x for listX in listY for x in listX)
私は C++ に非常に精通しており、Python の基本的な構造をいくつか知っています。上記のコードでは、セットが作成されていることはわかっていますが、括弧内のコードがわかりません。何か助けはありますか?
listY はおそらく以下の構造のようなものなので、展開されたコードは次のとおりです。
listY = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] result = set() for listX in listY: for x in listX: result.add(x)
注意: セットは重複するエントリを許可しません
これは、リスト内包表記に類似したジェネレーター内包表記です。それらを比較する情報については、この前の質問を参照してください。