day 16内置函数总结

reversed()
l = [1,2,3,4,5]
l.reverse()
print(l)

l = [1,2,3,4,5]
l2 = reversed(l)
reversed:更加节省内存资源
print(l2)
保留原列表,返回一个反序的迭代器

l = [1,2,23,213,456,231314,24]
sli = slice(1,5,2)
print(l[sli])
print(l[1:5:2])

format 调整格式
print(format('test','<20')) # 参数一: 操作字符串对象,参数二: 排列方式+申请空间大小
print(format('test','>20'))
print(format('test','^20'))

bytes 转换成bytes类型
bytes
拿到gbk--->utf-8
print(bytes('你好',encoding='gbk')) # Unicode转换成gbk
print(bytes('你好',encoding='utf-8')) # Unicode转换成utf-8

网络编程 只能传二进制
照片和视频也是以二进制存储
html网页爬取到的也是编码

byte类型的数组
修改字符串的时候可以节省内存,不足:只能通过字节编码来修改
b_arr = bytearray('你好',encoding='utf-8')
print(b_arr)
print(b_arr[0])

ord:字符按照Unicode转换成数字
print(ord('a'))
chr:数字按照Unicode转换成字符
print(chr(97))

name = "十一"
print("你叫:%s"%name)
print("你叫:%r"%name)
%r 调用了repr的方法,包括引号原封不动输出
print(repr('1'))
print(repr(1))

all:里面有一个false输出就是布尔值的false,类似把所有元素做&&运算
print(all(('',[1,2,3],555)))
print(all(('str',[1,2,3],555)))
any:里面有一个True输出就是布尔值的True,类似把所有元素做||运算
print(any(('',[1,2,3],555)))
print(any(('str',[1,2,3],555)))

zip拉链方法,是一个可迭代对象,以最少的那个对象最为拉链长度,把所有对象匹配到一起
L1 = [1,2,3,4,5]
L2 = ['a','b','c','d']
L3 = ('*','**',[6,6,6])
L4 = {'name':'jjlin','age':19}
print(zip(L1,L2,L3))
for i in zip(L1,L2,L3,L4):
print(i)

filter 过滤器:
用法: filter(方法名, 可迭代对象iterator)
def is_odd(x):
return x%2 == 1 # 仅仅返回满足条件的值

def is_str(s):
return type(s) == str

def del_emp(s):
return s and str(s).strip()

ret = filter(del_emp, [1,4,6,'hello','',' ',None,[],7,'wolrd',9,12,17]) # 过滤出所有满足条件的值
# 上一步效果等于: [i for i in [1,4,6,7,9,12,17] if i%2 == 1]
print(ret)
for i in ret:
print(i)

题目 输出1~100中所有能被开方的数
from math import sqrt
print(sqrt(64))

def can_sqrt(x):
# j = sqrt(x)
# return j % 1 == 0 # 判断j是一个整数
return sqrt(x).is_integer()

ret = filter(can_sqrt,range(1,101))
for i in ret:
print(i)

map = [i for i in [1,4,6,7,9,12,17]]
参数一:方法 ; 参数二: 变量. 功能把参数二进行参数一的操作后输出
ret = map(abs,[1,-4,6,-8])
print(ret)
for i in ret:
print(i)


filter 执行了filter之后的结果集合 <= 执行之前的个数
filter 只管筛选,不会改变原来的值
map 执行前后元素个数不变
值可能发生变化

sorted 接受一个可迭代类型 排序

l = [1,-4,6,5,-10]
# l.sort(key=abs ) # key操作: 在原列表的基础上进行排序
# print(l)

print(sorted(l,key=abs,reverse=True)) # 重新生成一个新的排序列表,占用新的内存空间;不改变原列表
print(l)

l = [" ", [1, 2], "hello world"]
print(sorted(l,key=len))

猜你喜欢

转载自www.cnblogs.com/77-is-here/p/10601334.html
今日推荐