尝试打印嵌套列表时出错:

2024-04-19 14:20:41 发布

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

我是Python新手,我通过阅读《头先Python》一书来学习Python。你知道吗

我的疑问是,当我想要打印嵌套列表时,我没有得到书中所示的正确输出

movies = ["The Holy Grail", 1975, "Terry Jones & Terry Gilliam", 91, ["Graham Chapman", ["Michael Palin", "John Cleese", "Terry Gilliam", "Eric Idle", "Terry Jones"]]]

你知道吗-- (书中给出的代码)

>>> for each_item in movies:
if isinstance(each_item, list):
    for nested_item in each_item:
        if isinstance(nested_item, list):
            for deeper_item in nested_item:
                print(deeper_item)
        else:
           print(nested_item)
else:
    print(each_item)

你知道吗-- (账面输出)

The Holy Grail
1975
Terry Jones & Terry Gilliam
91
Graham Chapman
Michael Palin
John Cleese
Terry Gilliam
Eric Idle
Terry Jones

你知道吗-- (但我只得到下面的输出)

Graham Chapman
Michael Palin
John Cleese
Terry Gilliam
Eric Idle
Terry Jones
['Graham Chapman', ['Michael Palin', 'John Cleese', 'Terry Gilliam', 'Eric Idle', 'Terry Jones']]

---

请帮帮我,我已经尽力了。提前谢谢。你知道吗


Tags: foritemjohnnestedterryeachidleeric
3条回答

我用你的代码得到你想要的。请检查一下缩进。你知道吗

for item in movies:
    if isinstance(item,list):
        for nested_item in item:
            if isinstance(nested_item,list):
                for deep_item in nitem:
                    print deep_item
            else:
                print nested_item
    else:
        print item

由于缩进错误,所示代码将不会运行。第一个if语句应该缩进。 (如果您得到了显示的结果,您可能会在不调整本网站缩进的情况下进行剪切和粘贴)。你知道吗

movies = ["The Holy Grail", 1975, "Terry Jones & Terry Gilliam", 91, ["Graham Chapman", ["Michael Palin", "John Cleese", "Terry Gilliam", "Eric Idle", "Terry Jones"]]]

for each_item in movies:
    if isinstance(each_item, list):
        for nested_item in each_item:
            if isinstance(nested_item, list):
                for deeper_item in nested_item:
                    print(deeper_item)
            else:
                print(nested_item)
    else:
        print(each_item)

在Python提示后粘贴时适用于我。当最后两行缩进比这个少4个空格时,输出就是你得到的。你知道吗

打印(嵌套的\u项)也仅缩进3个空格,其余的(缩进时)使用4个空格。你知道吗

最后的else缩进错误。它必须与第一个if处于同一级别,而不是第一个for。你知道吗

相关问题 更多 >