内置函数官网:https://docs.python.org/3/library/functions.html
数学运算
abs():求绝对值函数
round(x,y):对浮点数x进行近似值取值,保留y位小数
pow(x,y):返回x 的y 次方的值
divmod(a,b):求商和余数,返回一个包含商和余数的元组(a//b,a%b)
max(x,y,z.....):求最大值,参数可以是序列
min(x,y,z.....):求最小值,参数可以是序列
sum():求和,
eval('表达式'):执行字符串表达式
类型转换
chr():数字转字符
bin():转为二进制
hex():转为十六进制
oct():转为八进制
list():元组转为列表
dict():用于创建一个字典
序列操作函数
all(x):判断给定的可迭代参数(元组、列表、str)中的所有元素是否都为TRUE,除了0、空、FALSE 外都算TRUE。空元组、空列表返回值为TRUE。
any(x):只要有一个元素为TRUE,结果就为TRUE。
sorted(x):对所有可迭代的对象进行排序操作,返回的是一个新的list,不改变原来的列表。reverse=TRUE-----降序排序,默认为false----升序排序
sort(x):list的排序方法,直接修改的原始对象。不能用于元组排序。
reverse():对列表的元素进行反向排序。语法:list.reverse()
range():创建一个整数列表,语法:range(start,stop[,step])
zip():打包,会把序列中对应的索引位置的元素存储为一个元组,数据以元组类型返回
enumerate():将一个可遍历的数据对象(列表、元组、字符串)组合为一个索引序列,同时列出数据和数据下标,一般用于for 循环中。语法:enumerate(对象,下标起始位置)
set(集合):是一个无序且不重复的元素集合,不支持索引和切片,类似于字典,但只有key
# 集合 创建 set1={1,2,3} set2={2,3,4,5} # 添加 set1.add('aaaa') # 清空 set1.clear() # 差集 set1.difference(set2) print(set1-set2) # 交集 set1.intersection(set2) print(set1&set2) # 并集 set1.union(set2) print(set1 | set2) # pop 从集合中取数据并且同时删除 set1.pop() # 指定移除的元素 set1.discard(3) # 更新 update,将set2的内容添加到set1中 set1.update(set2)
练习:
# 求三组连续自然数的和:1-10,20-30,35-45 def sumRange(m,n): ''' 求从m到n的连续自然数的和 ''' return sum(range(m,n+1)) pass print(sumRange(1,10)) print(sumRange(20,30)) print(sumRange(35,45)) # 100个和尚吃100个馒头,大和尚一人吃3个馒头,小和尚3个人吃一个馒头,请问大小和尚各多少人? def personCount(): ''' 计算各有多少个和尚 假设大和尚a,小和尚为100-a ''' for a in range(1,101): if a*3+(100-a)*(1/3)==100: return (a,100-a) pass pass pass rsObj=personCount() print('大和尚{}人,小和尚{}人'.format(rsObj[0],rsObj[1])) # 指定一个列表,列表里含有唯一一个只出现过一次的数字。找出这个独一无二的数字 def uniqueNum(li): set1 = set(li) #把列表变成集合,不重复 for i in set1: li.remove(i) # li 只能去掉重复数字一次,但不影响结果 pass set2 = set(li) #重复数字的集合 for i in set1: if i not in set2: return i pass pass pass li=[1,2,4,3,2,3,4,1,6] num = uniqueNum(li) print(num) # 下列代码也可,比较简洁,上面的主要是逻辑 for i in li: if li.count(i)==1: #count 找元素出现的次数 print(i) pass pass