-------------------------------------------------------------------------
内容来自《head first python》的读书笔记
-------------------------------------------------------------------------
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 inmovies:ifisinstance(each_item, list):for nested_item ineach_item:ifisinstance(nested_item, list):for deeper_item innested_item:print(deeper_item)else:print(nested_item)else:print(each_item)
3.思考一个问题,如果此时需要添加列表的元素,列表循环层数又要加深,而嵌套的函数基本是重复的代码,而不同的只有参数,因此,我们需要将这部分代码定义一个函数,实现参数化:
defprint_lol(a_list):for each_item ina_list:ifisinstance(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.递归的概念及应用