Python--内置函数

内置函数官网: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

上一篇:Python--面向对象


下一篇:内部面试题-2021-01-21