lambda 参数: 表达式
- add = lambda x, y: x + y
- print(type(add)) #
- print(add(3, 5)) # 8
sort()与sorted()的区别sort() 是 list 的方法,只有 list 能用,而sorted() 是内置函数,可以对所有可迭代的对象进行排序操作sort() 是原地排序,会改变原来列表的顺序,无返回值;而内置函数 sorted()不会改变原来列表的顺序,返回一个新的 list语法:sorted(iterable, key=None, reverse=False)
- 参数:
- iterable – 可迭代对象。例如:列表或字典
- key – 对可迭代对象中给定元素的每一项进行排序。
- 只有一个参数,具体的函数参数取自于可迭代对象
- reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
- # sort() 的使用示例
- lst = [3, 1, 4, 1, 5, 9, 2, 6, 5]
- lst.sort()
- print(lst) # 输出:[1, 1, 2, 3, 4, 5, 5, 6, 9]
-
- # sorted() 的使用示例
- lst = [3, 1, 4, 1, 5, 9, 2, 6, 5]
- new_lst = sorted(lst)
- print(new_lst) # 输出:[1, 1, 2, 3, 4, 5, 5, 6, 9]
- print(lst) # 输出:[3, 1, 4, 1, 5, 9, 2, 6, 5]
- list1 = [5, -3, 1, 8, -4]
- list2 = sorted(list1, key=lambda x: abs(x)) # 对 list1 中的每个元素取绝对值进行排序
- print(list2) # 输出:[1, -3, -4, 5, 8]
- l1 = [1, 2, 3]
- l2 = ['x', 'y']
- print(zip(l1, l2)) #
- print(list(zip(l1, l2))) # [(1, 'x'), (2, 'y')]
- print(dict(zip(l1, l2))) # {1: 'x', 2: 'y'}
- ls1 = [1, 2, 3]
- str1 = "abc"
- print(dict(zip(ls1, str1))) # 输出:{1: 'a', 2: 'b', 3: 'c'}
-
-
- name = ["John", "Jim", "Lucy"]
- year = [1983, 1985, 1995]
- for name, year in zip(name, year):
- print("%s - %s" % (name, year))
- """
- 输出:
- John - 1983
- Jim - 1985
- Lucy - 1995
- """
map 函数会根据传入的函数对指定序列做映射
map(function, iterable, ...)
返回的是一个 map 对象,注意不是列表不能直接输出,可以通过 for 循环 或者 list() 来显示。
- l1 = [1, -2, -3]
- map_abs = map(abs, l1)
- print(list(map_abs)) # [1, 2, 3]
- for val in map_abs:
- print(val) # 映射完没内容输出
filter 函数会根据传入的函数对指定序列做过滤
filter(function, iterable)
返回的是一个 filter 对象,注意不是列表不能直接输出,可以通过 for 循环 或者 list() 来显示
- def is_even(num):
- return num % 2 == 0
-
-
- filter_even = filter(is_even, [2, 5, 6])
- for val in filter_even:
- print(val) # 2 6
from functools import reduce 语句导入包reduce(function, iterable[, initializer])
对 iterable 里的每个元素做累积处理,处理完毕后返回。
- from functools import reduce
-
- reduce_res = reduce(lambda x, y: x * y, [1, 2, 3, 4])
- print(reduce_res) # 24
函数注解是Python 3.5 引入的,目的是提供一个标准方法来注释函数的参数和返回值
def func(param1:param1 note, param2:param2 note=default val)->return val note:
pass
| 参数 | 描述 |
| param1 | 形参1。 |
| param1 note | 形参1 的注解。 |
| param2 | 形参2。 |
| param2 note | 形参2 的注解。 |
| default val | 形参2的默认值。 |
| val note | 返回值的注解。 |
print(func_name.__annotations__)
| 参数 | 描述 | 说明 |
| func_name | 需要获取注解信息的函数。 | 可以获取函数名为 func_name 的注解信息 |
- # 通过圆半径计算圆周长
- def circle(r: "圆的半径") -> "返回圆的周长":
- return 2 * 3.14 * r
-
-
- res = circle(10)
- print("圆的周长是:{}".format(res))
- print(circle.__annotations__)
- """
- 输出:
- 圆的周长是:62.800000000000004
- {'r': '圆的半径', 'return': '返回圆的周长'}
- """