一.实参高阶函数
1.函数的本质
函数就是变量
Python中定义函数局势定义一个类型是function的变量,函数名就是变量名
2.map函数
map(函数,序列) ----讲序列中的元素通过指定的规则转换成一个新的序列中的元素
函数要求:
有且只有一个参数 ----- 指向后面的这个序列中的每个元素
有一个返回值----新序列中元素(用参数来代表原序列中的元素,描述出新序列中元素和原序列中元素的关系)
# 练习5:已经两个列表分别是学生姓名和年龄,根据创建一个保存多个学生信息的列表
# [{'name': '小明', 'age': 18}, {'name': '张三', 'age': 21}, {'name': '李四', 'age': 22}, {'name': '老王', 'age': 19}]
names = ['小明', '张三', '李四', '老王']
ages = [18, 21, 22, 19]
new_list = list(map(lambda name, age: {
'name': name, 'age': age}, names, ages))
print(new_list)
# [{'name': '小明', 'age': 18}, {'name': '张三', 'age': 21}, {'name': '李四', 'age': 22}, {'name': '老王', 'age': 19}]
3.reduce函数
reduce(函数,序列,初始值)
函数的要求:有且只有两个参数----第一个参数指向序列中的初始值,第二个参数指向序列中的元素
# 练习3:将names中的元素合并 -> '小张李老'
names = ['小明', '张三', '李四', '老王']
result = reduce(lambda init, name: init + name[0], names, '')
print(result) # 小张李老
# 练习6:已知一个学生列表
students = [
{
'name': '小明', 'age': 18, 'math': 90, 'chinese': 85, 'English': 60}