把固定格式的类型分类
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
def fn(user_list): lst = [] # 最终得到的列表 for name in user_list: for fcy in lst: if fcy['name'] == name['name']: # 已经有的名字 fcy['hobby_list'].append(name['hobby']) break else: # 没有的时候需要创建 dic = {} dic['name'] = name['name'] dic['hobby_list'] = [name['hobby']] lst.append(dic) return lst
1, 函数名的应用,第一类对象
函数名可以像变量一样进行使用
1.赋值
2.作为list元素
3.作为参数
4.作为返回值
2, 闭包
内部函数访问外部函数的局部变量.
好处:
1.安全
2.常驻内存. 提高效率
3, 迭代器
可迭代对象(Iterable):内部包含__iter__().
迭代器(Iterator): 内部含有__iter__() __next__()
str, list, tuple, set, dict
f, range
迭代器的特点:
1.省内存
2.惰性机制
3.只能向前.