文章题目
常用内置函数
目录
文章题目
常用内置函数
一、常用python内置函数
二、类型转换
1.int()、float()、complex()
3.ord()、chr()、str()
4.list()、tuple()、dict()、set()
5.eval()
三、最大值、最小值
四、元素数量、求和
五、排序、逆序
1.sorted()
2.reversed()
六、基本输入/输出
1.input()
2.print()
七、内置函数range()
八、内置函数zip()
九、函数式编程
1.map()
2.reduce()
3.filter()
一、常用python内置函数
二、类型转换
1.int()、float()、complex()
在Python程序中,可以直接使用内置函数,不需要导入任何模块。
print(int(3.5)) #获取实数的整数部分
print(int('119')) #把整数字符串转换为整数
print(int('1111',2)) #把1111看作二进制数,转换为十进制数
print(int('1111',8)) #把1111看作八进制数,转换为十进制数
print(int('1111',16)) #把1111看作十六进制数,转换为十进制数
print(int(' 9n')) #自动忽略字符串两个的空白字符
print(float('3.1415926')) #把字符串转换为实数
print(float('-inf')) #负无穷大
print(complex(3,4)) #复数
print(complex(6j))
print(complex('3'))
2.bin()、oct()、hex()
print(bin(8888)) # 把整数转换为二进制 print(oct(8888)) #把整数转换为八进制 print(hex(8888)) #把整数转换为十六进制
3.ord()、chr()、str()
print(ord('a')) #返回字符的ASCII码
print(ord('董')) #返回汉字字符的Unicode编码
print(chr(65)) #返回指定ASCII码对应的字符
print(chr(33891)) #返回指定Unicode编码对应的汉字
print(str([1,2,3,4])) #把列表转换为字符串
print(str({1,2,3,4})) #把集合转换为字符串
4.list()、tuple()、dict()、set()
print(list(),tuple(),dict(), set()) #列表、元组、字典、集合
s={3,2,1,4}
print(list(s), tuple(s))
lst = [1,1,2,2,3,4]
#在转换为集合时会自动去除重复的元素
print(tuple(lst), set(lst))
# list()会把字符串中每个字符都转换为列表中的元素
# tuple()、set()函数也具有类似的特点
print(list(str(lst)))
print(dict(name='Dong',sex='Male',age=41))
5.eval()
print(eval('3+4j')) #对字符串求值得到复数
print(eval('8**2')) #计算表达式8**2的值
print(eval('[1, 2, 3, 4, 5]')) #对字符串形式求值得到列表
print(eval('{1,2,3,4}')) #对字符串求值得到集合
三、最大值、最小值
data=[3,22,111]
print(data)
#对列表中的元素直接比较大小,输出最大元素
print(max(data))
print(min(data))
#返回转换成字符串之后最大的元素
print(max(data,key=str))
data =['3', '22','111']
print(max(data))
# 返回长度最大的字符串
print(max(data,key=len))
data = ['abc','Abcd','ab'] # 最大的字符串
print(max(data)) # 长度最大的字符串
print(max(data,key=len))
#全部转换为小写之后最大的字符串
print(max(data,key=str.lower))
data =[1,1,1,2,2,1,3,1]
# 出现次数最多的元素
#也可以查阅资料使用标准库collections中的Counter类实现
print(max(set(data), key=data.count))
四、元素数量、求和
data =[1,2,3,4] #列表中元素的个数
print(len(data)) #所有元素之和
print(sum(data))
data =(1,2,3)
print(len(data))
print(sum(data))
data={1,2,3}
print(len(data))
print(sum(data))
data ='Readability counts.'
print(len(data))
data ={97:'a',65:'A',48:'0'}
print(len(data))
print(sum(data))
五、排序、逆序
1.sorted()
sorted ()可以对列表、元组、字典、集合或其他可迭代对象进行排序并返回新列表,支持使用key参数指定排序规则,key参数的值可以是函数、类、 lambda表达式、方法等可调用对象。
另外,还可以使用reverse参数指定是升序(reverse=False)排序还是降序(reverse=True)排序,如果不指定的话默认为升序排序。
from random import shuffle
data=list(range(20))
shuffle(data) #随机打乱顺序
print(data)
print(sorted(data)) #升序排序
print(sorted(data,key=str)) #按转换成字符串后的大小升序排序
print(sorted(data,key=str, #按转换成字符串后的大小
reverse=True)) #降序排序
2.reversed()
reversed()可以对可迭代对象(生成器对象和具有惰性求值特性的zip、map、filter、enumerate、reversed等类似对象除外) 进行翻转并返回可迭代的 reversed对象。在使用时应注意,reversed对象具有惰性求值特点,其中的元素只能使用一次,并且不支持使用内置函数len()计算元素个数,也不支持使用内置函数reversed() 再次翻转。
from random import shuffle data=list(range(20)) #创建列表 shuffle(data) #随机打乱顺序 print(data) reversedData=reversed(data) #生成reversed对象 print(reversedData) print(list(reversedData)) #根据reversed对象得到列表 print(tuple(reversedData)) #空元组,reversed对象中元素只能使用一次
六、基本输入/输出
1.input()
内置函数input()用来接收用户的键盘输入,不论用户输入什么内容, input()一律作为字符串对待,必要的时候可以使用内置函数int()、float()或 eval()对用户输入的内容进行类型转换。
num=int(input('请输入一个大于2的自然数:'))
#对2的余数为1的整数为奇数,能被2整除的整数为偶数
if num%2 ==1:
print('这是个奇数。')
else:
print('这是个偶数。')
lst = eval(input('请输入一个包含若干大于2的自然数的列表:'))
print('列表中所有元素之和为:',sum(lst))
2.print()
内置函数print()用于以指定的格式输出信息,语法格式为 :
print(value1,value2,...,sep='',end='n')
其中,sep参数之前为需要输出的内容(可以有多个);sep参数用于指定数据之间的分隔符,如果不指定则默认为空格;end参数表示输出完所有数据之后的结束符,如果不指定则默认为换行符。
print(1,2,3,4,5) #默认情况,使用空格作为分隔符 print(1,2,3,4,5,sep=',') #指定使用逗号作为分隔符 print(3,5,7,end=' ') #输出完所有数据之后,以空格结束,不换号 print(9,11,13)
七、内置函数range()
range函数范围是左闭右开的。
range1=range(4) #只指定stop为4,start默认为0,step默认为1
range2=range(5,8) #指定start=5和stop=8,step默认为1
range3=range(3,20,4) #指定start=3、stop=20和step=4
range4=range(20,0,-3) #step也可以是负数
print(range,range2,range3,range4)
print(range4[2])
print(list(range1),list(range2),list(range3),list(range4))
for i in range(10):
print(i,end=' ')
八、内置函数zip()
zip函数是把多个列表对应位置元素进行组合放到一个元组中返回一个zip对象。(惰性求值特点)
data=zip('1234',[1,2,3,4,5,6])
print(data)
#在转换为列表时,使用了zip对象中的全部元素,zip对象中不再包含任何内容
print(list(data))
#如果需要再次访问其中的元素,必须重新创建zip对象
data=zip('1234',[1,2,3,4,5,6])
print(tuple(data))
data =zip('1234',[1,2,3,4,5,6])
#zip对象是可迭代的,可以使用for循环逐个遍历和访问其中的元素
for item in data:
print(item)
九、函数式编程
1.map()
from operator import add
print(map(str,range(5)))
print(list(map(str,range(5))))
print(list(map(len, ['abc', '1234','test'])))
#使用operator标准库中的add运算add运算相当于运算符+
#如果map()函数的第一个参数func能够接收两个参数,则可以映射到两个序列上
for num in map(add,range(5),range(5,10)):
print(num)
from operator import add
print(map(str,range(5)))
print(list(map(str,range(5))))
print(list(map(len, ['abc', '1234','test'])))
#使用operator标准库中的add运算add运算相当于运算符+
#如果map()函数的第一个参数func能够接收两个参数,则可以映射到两个序列上
for num in map(add,range(5),range(5,10)):
print(num)
2.reduce()
from functools import reduce
from operator import add, mul, or_
seq=range(1,10)
print(reduce(add,seq)) #累加seq中的数字
print(reduce(mul,seq)) #累乘seg中的数字
seq=[{1},{2},{3},{4}]
print(reduce(or_,seq)) #对seg中的集合连续进行并集运算



