1)基础数据类型相关
和数据结构相关
序列:
1.列表和元组
列表:list
元组:tuple
2.相关内置函数
reversed:
reversed() l = [1,2,3,4,5] l.reverse() print(l) l = [1,2,3,4,5] l2 = reversed(l) print(l2) 保留原列表,返回一个反向的迭代器
slice:
l = (1,2,23,213,5612,342,43) sli = slice(1,5,2) print(l[sli]) print(l[1:5:2])
3.字符串
str:
数字类型
format:
print(format(‘test‘, ‘<20‘)) print(format(‘test‘, ‘>40‘)) print(format(‘test‘, ‘^40‘))
bytes:
bytes 转换成bytes类型 我拿到的是gbk编码的,我想转成utf-8编码 print(bytes(‘你好‘,encoding=‘GBK‘)) # unicode转换成GBK的bytes print(bytes(‘你好‘,encoding=‘utf-8‘)) # unicode转换成utf-8的bytes
bytearry:
网络编程 只能传二进制 照片和视频也是以二进制存储 html网页爬取到的也是编码 b_array = bytearray(‘你好‘,encoding=‘utf-8‘) print(b_array) print(b_array[0]) ‘\xe4\xbd\xa0\xe5\xa5\xbd‘ s1 = ‘alexa‘ s2 = ‘alexb‘
memoryview:
ord:
字符按照unicode转数字
print(ord(‘好‘)) print(ord(‘1‘)) 结果:22909 49
chr:
数字按照unicode转字符
print(chr(97)) 结果:a
ascii:
只要是ascii码中的内容,就打印出来,不是就转换成\u
print(ascii(‘好‘)) print(ascii(‘1‘)) 结果:a ‘\u597d‘ ‘1‘
repr:
用于%r格式化输出
name = ‘egg‘ print(‘你好%r‘%name) print(repr(‘1‘)) print(repr(1))
数据集合
1.字典:
dict
2.集合:
set:无序排序且不重复,是可变的。
frozenset:是冻结的集合,他是不可变的,存在哈希值。
相关内置函数
len:长度
sorted:排序,可以定义。
列表按照其中每一个值的绝对值排序 l1 = [1,3,5,-2,-4,-6] l2 = sorted(l1,key=abs) print(l1) print(l2) 列表按照每一个元素的len排序 l = [[1,2],[3,4,5,6],(7,),‘123‘] print(sorted(l,key=len))
enumerate:枚举
all:只要有一个空的就返回False,全部不为空就返回True。
print(all([‘a‘,‘‘,123])) print(all([‘a‘,123])) print(all([0,123])) 结果:False True False
any:只要有一个为真就返回True。
print(any([‘‘,True,0,[]])) 结果:True
zip:拉链函数
l = [1,2,3,4,5] l2 = [‘a‘,‘b‘,‘c‘,‘d‘] l3 = (‘*‘,‘**‘,[1,2]) d = {‘k1‘:1,‘k2‘:2} for i in zip(l,l2,l3,d): print(i)
filter:
执行了filter之后的结果集合 <= 执行之前的个数
filter只管筛选,不会改变原来的值
map:
执行前后元素个数不变
值可能发生改变
二、匿名函数
匿名函数:为了解决那些功能很简单的需求而设计的一句话函数
#这段代码 def calc(n): return n**n print(calc(10)) #换成匿名函数 calc = lambda n:n**n print(calc(10))
函数名 = lambda 参数 :返回值 #参数可以有多个,用逗号隔开 #匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值 #返回值和正常的函数一样可以是任意数据类型
注:max min sorted filter map 只有这五个函数才能使用匿名函数。