item函数中的each_item不起作用。我不知道如何实现nested_item

时间:2014-09-18 08:40:11

标签: python each

我有一个问题。我找到了这个程序,想要使用它。我知道列表中的单词会在打印下列出,但我不知道它是如何工作的!你知道nested_item是什么。到目前为止我还没找到它。谢谢!

movies = ["Yeah Buddy", "Light Way Baby", 2006, "It´s awesome", "Hulk Hogan 2008"]
for each_item in movies:
    if isinstance(each_item, list):
        for nested_item in each_item:
            print(nested_item)
    else:
        print(each_item)

3 个答案:

答案 0 :(得分:1)

movies = ["Yeah Buddy", "Light Way Baby", 2006, "It´s awesome", "Hulk Hogan 2008"]

创建一个名为movies的列表,其中包含一些值。在这种情况下,所有这些都是字符串或数字。

for each_item in movies:

这会创建一个for循环,它会为movies中的每个元素迭代一次。对于每次迭代,其中一个元素存储在变量each_item中。

    if isinstance(each_item, list):

此行测试变量each_item是否包含类型list(或其实例)的值。在您的测试用例中,没有列表,因此不执行这些行:

        for nested_item in each_item:
            print(nested_item)

这将再循环遍历列表each_item中的所有项目,并打印其所有元素。

    else:
        print(each_item)

如果元素each_item不是列表,则这些行会打印其内容。

简而言之:程序遍历movies中的项目,如果它们不是列表则打印其内容,否则打印内部列表中每个元素的内容。

答案 1 :(得分:0)

您的程序会检查List in list

movies = ["Yeah Buddy",['YOU','Have','enlighted me'] ,"Light Way Baby", 2006, "It´s awesome", "Hulk Hogan 2008"]
for each_item in movies:
    if isinstance(each_item, list):
        for nested_item in each_item:
            print(nested_item)
    else:
        print(each_item)

现在你的nested_item有内部列表的元素

在电影列表中给出第二个元素是一个列表。所以现在isinstance(each_item, list)返回true,for循环开始打印'YOU','Have','enlighted me'

答案 2 :(得分:0)

显示:

movies = ["Yeah Buddy", [1, 2, 's'], "Light Way Baby", 2006, "Its awesome", "Hu$
for each_item in movies:
    if isinstance(each_item, list):
        for nested_item in each_item:
            print('-- %s' % nested_item)
    else:
        print(each_item)