python内置函数
内置函数
常见内置函数
1.map() 映射
map函数也是python中的一个内置函数,map在这里的意思是映射的意思,会根据提供的函数对指定序列做映射。map函数会返回一个迭代器,如果要转换为列表,可以使用 list() 来转换
map(function,iterable), function>>>: 函数 ,iterable>>>: 可遍历对象
l1 = [11,22,33,44,55]
#def function(a):
# return a + 1
result = map(lambda x :x+1,l1)
print(list(result)) # [12, 23, 34, 45, 56]
# print(dict(result)) # {}
# print(tuple(result)) # ()
""" 一般用列表来接收"""
2.max()\min()
eg1:
l1 = [11, 21, 2, 3, 2, 1, 2, 3, 2, 3, 2, 3, 2324, 242, 432, 43246, 456, 46, 345, 55345]
result = max(l1)
print(result) # 55345
eg2:
d1 = {
'kiki': 999,
'kimi': 1234,
'jenny': 3456,
'rose': 888
}
方式-:
def function(a):
return d1.get(a)
res = max(d1,key=function)
print(res) # jenny
方式二:
res = max(d1,key=lambda k:d1.get(k))
print(res) # jenny
"""
A-Z: 65-90
a-z:97-122
"""
3.reduce
""" reduce 传多个值 返回一个值 """
from functools import reduce
l1 = [11, 22, 33, 44, 55, 66]
result = reduce(lambda a,b:a*b,l1)
print(result) # 1275523920
"""步骤:
1.导入 reduce
2.获取列表
3.获得a=11,b=22 并相乘得242,再赋值给a
4,a=242,或者b=33,a,b相乘得7986再赋值给a
依次循环,直至结束"""
重要内置函数
1.zip() 拉链
zip()接受一系列可迭代的对象作为参数,将对象中的对应的元素打包成以一个个tuple,zip()函数返回iterable(可迭代对象)
""" 传入的参数相等,则返回的list的长度和参数长度相同"""
eg:
l1 = [11, 22, 33, 44, 55, 66]
l2 = ['kiki', 'kimi', 'classmate', 'roommate', 'mimi', 'baidu']
l3 = [1, 2, 3, 4, 5, 6]
result = zip(l1,l2,l3)
print(list(result)) # [(11, 'kiki', 1), (22, 'kimi', 2), (33, 'classmate', 3), (44, 'roommate', 4), (55, 'mimi', 5), (66, 'baidu', 6)]
print(list(result)) # [] 第一次迭代遍历完了,第二次遍历只能返回空集
""" 传入的参数不相等,则返回的list的长度和参数长度最短的对象相同"""
eg:
l1 = [11, 22, 33, ]
l2 = ['kiki', 'kimi', 'classmate', 'roommate']
l3 = [1, 2, 3, 4, 5, 6]
result = zip(l1,l2,l3)
print(list(result)) # [(11, 'kiki', 1), (22, 'kimi', 2), (33, 'classmate', 3)]
2.filter() 过滤
基本语法
filter(function or None, iterable) --> filter object
function:函数 作用是对iterable中的每个元素判断是否符合特定条件
None:不调用任何函数,只对可迭代对象中的元素本身判断真假,保留为真的元素
iterable:可迭代对象
代码实现:
eg:
l1 =[11,22,33,44,55,66,77,88]
result = filter(lambda x:x>40,l1)
print(list(result)) # 结果得出都是大于40的数据列表[44, 55, 66, 77, 88]
eg:
l1 =[11,0,33,44,-5,66,77,-88]
result = filter(lambda x:x>40,l1)
print(list(result)) # 返回的是[11, 33, 44, -5, 66, 77, -88] 0默认是False,所有帅选过程中进行了过滤
在filter函数定义中提到,filter函数中参数None表示不调用任何函数,只对可迭代对象中的元素本身判断真假,保留为真的元素,
""" for和列表生成式也同样可以实现 """
3.sorted 排序
sort排序
sorted()排序 默认升序
eg:
l1 = [22, 6, 335, 89, 53, 236, 9953, 12, 45]
result = sorted(l1)
print(result) # [6, 12, 22, 45, 53, 89, 236, 335, 9953] 默认升序
4.map() max() min()
1.map() 映射
map函数也是python中的一个内置函数,map在这里的意思是映射的意思,会根据提供的函数对指定序列做映射。map函数会返回一个迭代器,如果要转换为列表,可以使用 list() 来转换
map(function,iterable), function>>>: 函数 ,iterable>>>: 可遍历对象
l1 = [11,22,33,44,55]
#def function(a):
# return a + 1
result = map(lambda x :x+1,l1)
print(list(result)) # [12, 23, 34, 45, 56]
# print(dict(result)) # {}
# print(tuple(result)) # ()
""" 一般用列表来接收"""
2.max()\min()
eg1:
l1 = [11, 21, 2, 3, 2, 1, 2, 3, 2, 3, 2, 3, 2324, 242, 432, 43246, 456, 46, 345, 55345]
result = max(l1)
print(result) # 55345
eg2:
d1 = {
'kiki': 999,
'kimi': 1234,
'jenny': 3456,
'rose': 888 }
方式一:
def function(a):
return d1.get(a)
res = max(d1,key=function)
print(res) # jenny
方式二:
res = max(d1,key=lambda k:d1.get(k))
print(res) # jenny
"""
A-Z: 65-90
a-z:97-122
"""
5.reduce()
reduce
""" reduce 传多个值 返回一个值 """
from functools import reduce
l1 = [11, 22, 33, 44, 55, 66]
result = reduce(lambda a,b:a*b,l1)
print(result) # 1275523920
"""步骤:
1.导入 reduce
2.获取列表
3.获得a=11,b=22 并相乘得242,再赋值给a
4,a=242,或者b=33,a,b相乘得7986再赋值给a
依次循环,直至结束"""
常用内置函数
1.abs() 绝对值
print(abs(-110)) # 110 取绝对值
print(abs(56)) # 56 取绝对值
2.all() 全与 所有数据值对应的布尔值为True结果为是True,否则返回False
print(all([0,1,2,3,4,67])) # False 0默认是False
print(all([1,5,7,True])) # True
3.any() 全或 所有数据之对应的布尔值,有一个为True结果为True,否则返回False
print(any([0, None, '', 1])) # True
print(any([0, '', 1])) # True
print(any([0,False,'',[],{}])) # False
4.bin() oct() hex() int() bool()
print(bin(100)) # 0b1100100
print(oct(100)) # 0o144
print(hex(100)) # 0x64
5.bytes() 编码
s1 = '时间太快了,明天又是周末了'
print(s1.encode('utf8')) # b'\xe6\x97\xb6\xe9\x97\xb4\xe5\xa4\xaa\.....
print(bytes(s1,'utf8')) # b'\xe6\x97\xb6\xe9\x97\xb4\xe5\xa4\xaa\xe5\xbf\x.....
6.callable() 判断一个名字是否可以加括号调用
name = 'kiki'
def index():
print('from index')
print(callable(name)) # False
print(callable(index)) # True
7.chr() ord() 基于ASCll码表做数字与字母的转换
print(chr(65)) # A
print(chr(90)) # Z
print(ord('A')) #65
print(ord('h')) # 104
8.dir() 查看对象内置方法 返回括号内对象能够调用的名字
print(dir('hello')) # ['__add__', '__class__', '__contains__', '__delattr__', '__dir__',.......
9.divmod() 整除和取余 返回是元组 第一个数据为商,第二个数据是是余数,
result = divmod(100,2)
print(result) # (50,0) 因为100能被2整除
result = divmod(99,2)
print(result) #(49,1) 99除于2得整数49,余数为1
"""
总数 每页展示得数据 总页码
100 10 10
99 10 10
102 10 11
"""
page_num,more = divmod(9999,20)
print(divmod(99,10)) # (9, 9)
if more:
page_num += 1
print('总页码为:',page_num) # 总页码为: 500
10.enumerate() 枚举
l1 = 'hello world'
for i,k in enumerate(l1):
print((i, k),end='') # (0, 'h')(1, 'e')(2, 'l')(3, 'l')(4, 'o')(5, ' ')(6, 'w')(7, 'o')(8, 'r')(9, 'l')(10, 'd')
for a,b in enumerate(l1,start=100):
print(a,b) # 101 e 102 l.......
dict1 = {i:j for i,j in enumerate('happy')}
print(dict1) # {0: 'h', 1: 'a', 2: 'p', 3: 'p', 4: 'y'}
12.hash() 哈希加密
print(hash('kiki')) # 哈希加密
"""
第一次加密:4037269258047698454
第二次加密:7907564079560707150
每次加密都不一样
"""
13.id() input() isinstance()
1.id()
l1 = 12
print(id(l1)) # 140712622557184
2.input()
iuput函数作用:接收来自用户得输入
input返回值类型:输入值的类型为str
值的存储:使用=对输入的值进行存储
3.isinstance()
l1 =1
res= isinstance(l1,int)
print(res) # True
14.open()
open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)
open() 是python的内置函数,可以打开文件对其进行操作
Character Meaning
'r' open for reading (default) 打开可读文件
'w' open for writing, truncating the file first da
'x' create a new file and open it for writing
'a' open for writing, appending to the end of the file if it exists
'b' binary mode
't' text mode (default)
'+' open a disk file for updating (reading and writing)
'U' universal newline mode (deprecated)
15.pow() 幂指数
print(pow(2,3)) # 8
print(pow(2,4)) # 16
print(pow(2,9)) # 512
16.range() xrange()
print(range(100)) # range(0, 100)
17.round() 四舍五入取整
print(round(67.3)) # 67
print(round(45.8)) # 46
18.sum()
print(sum([12,34,56,67,89])) # 258
19.eval\exec
eval('python代码字符版')
exec('代码字符版',{},变量)
# 执行结果,执行代码,产生属性放到字典里,存到变量中。
# 这个变量存的就是这个代码的名称空间(字典类型)

浙公网安备 33010602011771号