Python内置函数
Python内置函数
[TOC]
abs()
取绝对值。
1 | abs(-8) |
1 | abs(12*(-3)/4) # 可进行运算 |
1 | abs('e') # 无法对字符进行处理 |
max()
遍历参数,取最大值。
1 | max(1,2,4) # 多参数(数字)输入 |
max()函数接受有限个参数,参数可为数字、列表、元组、集合,参数可以含有多个元素。
1、【数字】:取最大的参数或元素
1 | # 多个参数(含有多个元素的列表),元组亦同。 |
2、【数字列表】:单个参数:取最大的元素;多个参数: 优先取含最大值的参数,其次取元素少的参数
1 | max(['q','w']) # 按ASCⅡ码比大小 |
`3、【字符串列表】:单个参数:依次按字母取ASCⅡ码大的字符串所在参数;多个参数:优先取含最大值的参数,其次取元素少的参数(实质是转换成ASCⅡ码再依次比较)
1 | list(max("A1","B2","C3","D0")) |
4、【混合列表】:依次比较,使用list函数将字符串转换成各个单元素的列表
5、【字典】:默认遍历key,以字符串规则比大小;加.valuse()遍历value。
注意返回值是参数,还是参数含有的元素!
(っ °Д °;)っ还有好多用法~https://blog.csdn.net/ifubing/article/details/79250000
min()
使用规则同max()。
sum()
各种意义上的求和。
1 | sum(iterable, start=0, /) |
可迭代类型求和
1 | sum([1, 2, 3]) |
1 | sum([[1, 2], [3], [4, 5, 6]], []) |
divmod()
取模,返回值为元组,(商,余数)。
len()
求序列长度,可求列表、元组、字典、集合。
map()
1 | map(lambda x: x ** 2, [1, 2, 3, 4, 5]) |
Python2直接返回列表,Python3返回对象(迭代器)。
因此使用时可以使用set(), list(), tuple()转换成相应结构。
1 | a = map(lambda x:x**2,[1,2,3,4]) |
可以发现,一旦使用list()等生成映射序列,就无法再使用迭代器a生成其他序列。这是因为迭代器内部有特殊变量记录迭代位置,使用后迭代完成,无法再生成映射序列。
lambda()
临时定义简单匿名函数。
1 | f = lambda x : x**2 |
filter()
用于过滤,原理与map()类似。
1 | def f1(x): |
reduce()
Python2中为内置函数,Python3中在functools中。
作为参数的函数必须有两个自变量,输出一个自变量,以达到缩小的目的。
由上图,返回值作为下一轮递归参数,最终输出一个元素。
可自定义阶乘、序列求和函数
1 | from functools import reduce |
print()
1 | print(objects, sep=' ', end='\n', file=sys.stdout) |
P.S.推荐与format函数连用。
input()
1 | input().rstrip().split() |
zip()
1 | zip(list1, list2) |
zip(*)
1 | zip(*List(Tuple)) |