1

我正在将一些代码从 Python 翻译成 C++。我遇到了以下情况:

set(x for listX in listY for x in listX)

我非常精通 C++,并且知道 Python 中的一些基本结构。在上面的代码中,我知道正在创建一个集合,但我不理解括号内的代码。有什么帮助吗?

4

2 回答 2

6

listY 可能类似于下面的结构,所以扩展代码是:

listY = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
result = set()
for listX in listY:
    for x in listX:
        result.add(x)

注意:集合不允许重复条目

于 2012-09-01T06:01:42.257 回答
3

它是一个生成器推导,类似于列表推导。有关比较它们的一些信息,请参阅上一个问题

于 2012-09-01T05:58:51.730 回答