Python之路----------内置函数,,1、abs(x)绝对
Python之路----------内置函数,,1、abs(x)绝对
1、abs(x)绝对值
1 #coding=utf-82 a = 13 b = -24 print(abs(a))5 print(abs(b))
2、all(iterable)可迭代对象里面所有内容为真返回真,空列表返回真
1 #非0就是真2 l = [1, 2, 3, 4, 5, 6, -1, -2, ‘a‘]3 print(all(l))#True4 l = [1, 2, 3, 4, 5, 6, 0, -2, ‘a‘]5 print(all(l))#False6 l = []7 print(all(l))#True
3、any(iterable)可迭代对象里面任意数据为真返回真,空列表返回假
1 #非0就是真2 l = [1, 2, 3, 4, 5, 6, -1, -2, ‘a‘]3 print(any(l))#True4 l = [1, 2, 3, 4, 5, 6, 0, -2, ‘a‘]5 print(any(l))#True6 l = []7 print(any(l))#False
4、ascii(object)把内存的对象变成可打印的字符对象(貌似没有什么用)
1 l = [1, 2, 3, 4, 5, 6, 0, -2, ‘a‘]2 a = ascii(l)3 print(type(a), [a])4 5 #运行结果:6 ‘‘‘7 <class ‘str‘> ["[1, 2, 3, 4, 5, 6, 0, -2, ‘a‘]"]8 ‘‘‘
5、bin( X)十进制数字转二进制
1 print(bin(1)) 2 # 0b1 3 print(bin(2)) 4 # 0b10 5 print(bin(3)) 6 # 0b11 7 print(bin(4)) 8 # 0b100 9 print(bin(5))10 # 0b10111 print(bin(6))12 # 0b11013 print(bin(7))14 # 0b11115 print(bin(8))16 # 0b100017 print(bin(9))18 # 0b100119 print(bin(10))20 # 0b101021 print(bin(11))22 # 0b101123 print(bin(12))24 # 0b1100
6、bool()判断对象真假
1 print(bool(0)) # False 2 3 print(bool(1)) # True 4 5 print(bool([])) # False 6 7 print(bool([1])) # True 8 9 print(bool({})) # False10 11 print(bool({1: 2})) # True
7、bytearray()可修改二进制的字符串,很少用到
1 a = bytes(‘baidu‘, encoding=‘utf-8‘)2 print(a.capitalize(), a)#字符串a没有被修改3 b = bytearray(‘baidu‘, encoding=‘utf-8‘)4 print(b[0])5 b[0] = 1006 print(b)#字符串b被修改
8、callable()判断可不可以调用
1 print(callable([]))2 3 def call():4 pass5 6 print(callable(call))7 8 #列表不可以调用Flase,函数可以调用True
9、 chr(i)输入数字返回对应的ascii码的内容
1 print(chr(21016))2 3 print(chr(24191))4 5 print(chr(20449))
10、ord(c)输入字符返回对应的ascii码的数字
1 print(ord(‘刘‘))2 3 print(ord(‘广‘))4 5 print(ord(‘信‘))
11、dir()查看内置方法
1 a = []2 print(dir(a))
12、filter()过滤数据用的
1 res = filter(lambda n: n < 5, range(10))2 for i in res:3 print(i)
13、map()处理数据用的
1 res = map(lambda n: n*2, range(10))2 for i in res:3 print(i)
14、reduce()
1 import functools2 res = functools.reduce(lambda x, y: x+y, [x * (1 if x % 2 == 0 else -1) for x in range(2, 101, 1)])3 print(res)
15、reduce()
reduce把一个函数作用在一个序列[x1, x2, x3...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
比方说对一个序列求和,就可以用reduce实现:
1 import functools2 def add(x, y):3 return x + y4 functools.reduce(add, [1, 3, 5, 7, 9])
当然求和运算可以直接用Python内建函数sum(),没必要动用reduce。
但是如果要把序列[1, 3, 5, 7, 9]变换成整数13579,reduce就可以派上用场:
1 import functools2 def fn(x, y):3 return x * 10 + y4 functools.reduce(fn, [1, 3, 5, 7, 9])
可以写一个稍微复杂一点的reduce,计算数字列表的和
1 import functools2 res = functools.reduce(lambda x, y: x+y, [x * (1 if x % 2 == 0 else -1) for x in range(2, 101, 1)])3 print(res)
16、oct()转8进制
1 print(oct(1))2 print(oct(3))3 print(oct(5))4 print(oct(7))5 print(oct(8))6 print(oct(9))7 print(oct(10))
17、pow(x,y)返回x的y次幂
1 print(pow(2, 8))2 #256 计算2的8次方3 print(pow(2, 8, 3))4 #256 计算 2**8 % 35 print(2**8 % 3)
18、round(number,ndigits)给定一个数字number,ndigits是他要保留的小数位数,四舍五入,看例子
1 print(round(3.1592653))2 # 33 print(round(3.1592653, 2))4 # 3.165 print(round(3.1592653, 3))6 # 3.159
19、sorted(*args, **kwargs)排序
1 a = {1: 0, -99: 9, 100: -10, 38: 7}2 print(a)#直接打印列表3 # {1: 0, 100: -10, -99: 9, 38: 7}4 print(sorted(a)) #字典的key排序5 # [-99, 1, 38, 100]6 print(sorted(a.items())) #字典的key value排序7 # [(-99, 9), (1, 0), (38, 7), (100, -10)]8 print(sorted(a.items(), key=lambda x: x[1])) #按照value的值排序9 # [(100, -10), (1, 0), (38, 7), (-99, 9)]
20、zip(*args, **kwargs)接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。
1 a = [1, 2, 3, 4, 5, 6, 7]2 b = [‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘]3 for i in zip(a, b):4 print(i)
Python之路----------内置函数
评论关闭