Python Nested List Operation

1.列表就像数组:

ist1=["I","love","python",2014]
ist1
['I', 'love', 'python', 2014]

 

列表的数据处理:

假设你得到一组数据

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

现在需要将movies的具体信息分别打印出来

2.以上问题怎么做呢,嵌套列表怎么遍历元素信息?

我想我们需要一个循环:

复制代码
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)
复制代码

 

 3.思考一个问题,如果此时需要添加列表的元素,列表循环层数又要加深,而嵌套的函数基本是重复的代码,而不同的只有参数,因此,我们需要将这部分代码定义一个函数,实现参数化:

复制代码
def print_lol(a_list):
    for each_item in a_list:
        if isinstance(each_item, list):
            print_lol(each_item)
        else:
            print(each_item)
            

print_lol(movies)
复制代码

*.递归函数的规律:

  注意到以上代码,将嵌套功能某一层实现,将需要迭代的部分用定义的函数返回,即可不停调用,直到函数找到出口,这里的返回函数是:print_lol(each_item).

 

总结:

1.列表的概念以及创建,增加,删除,查找方法;

2.python的格式(列表创建格式,缩进格式,判断格式,循环格式,函数定义格式);

3.len(),isinstance()的用法;

4.递归的概念及应用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值