这行Python代码是什么意思?

时间:2012-09-01 05:57:22

标签: python set

我正在将一些代码从Python翻译成C ++。我发现了以下内容:

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

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

2 个答案:

答案 0 :(得分: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)

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

答案 1 :(得分:3)

这是一个generator comprehension,类似于list comprehension。有关比较它们的一些信息,请参阅this previous question