使用gen展平嵌套列表

2024-10-06 12:02:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Beginning Python From Novice to Professional(Third Exdition)一书的9.7.1 Create Generator中编写了示例代码

但是我没有输出书中应该输出的内容

书中的例子:

def flatten(nested):
    for sub in nested:
        for element in nested:
            yield element

nested = [[1,2],[3,4],[5]]

for num in flatten(nested):
    print(num)

书中的输出:

 1
 2
 3
 4
 5

我的python 3.7.2输出:

[1, 2]
[3, 4]
[5]
[1, 2]
[3, 4]
[5]
[1, 2]
[3, 4]
[5]

我的Python怎么了


Tags: toinfromforcreateelementgeneratornum
1条回答
网友
1楼 · 发布于 2024-10-06 12:02:12

第三行应该是for element in sub:

def flatten(nested):
    for sub in nested:
        for element in sub:  # typo was here
            yield element

nested = [[1,2],[3,4],[5]]

for num in flatten(nested):
    print(num)

相关问题 更多 >