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)
注意:集合不允许重复条目
它是一个生成器推导,类似于列表推导。有关比较它们的一些信息,请参阅上一个问题。