集合:
pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
linuxs={'wupeiqi','oldboy','gangdan'}
1、集合set用途:用来找关系运算,去重复
2、定义:{}号内用逗号隔开,多个元素,每一个元素元素都必须是不可变类型(不可变类型是可hash类型)
强调:
1、集合内的元素为无序类型
2、集合内的元素不能重复
转化set时会去重复内容
单纯的用集合去重,需要注意的问题是
1、去重的目标所包含的值,必须都为不可变类型,如果包含列表或者字典会报错。
2、去重的结果会打乱原有的顺序
3、关系运算+内置方法
len长度
成员运算in,not in
|合集、并集.union
print(pythons|linuxs)
4、&交集.intersection
print(pythons&linuxs)
5、-差集.difference
print(pythons-linuxs)
6、^对称差集,两边都有的数 .
print(pythons^linuxs)
7、==
s1={1,2,3}
s2={1,2,3}
s1 == s2
8、父集(包含关系):>,>=
s1={1,2,3,4,5}
s2={1,2,3}
print(s1>s2) s1包含s2,为父集
9、子集(被包含关系):<,<=
集合set为可变类型,无序
s1={1,2,3,4}
s1.add(5)
print(s1) 显示s1={1,2,3,4,5}
字符编码:
将人类的字符转换成计算机识别的数字
这种转换的关系必须是遵循一套固定的标准,这标准无非是人类自负与计算机二进制的对等字符码
utf-8 #Unicode tranform format-8
utf-8 用1Bytes表示英文,用3Bytes表示中文,通过内存里Unicode存到utf-8空间更省,表达更精准
内存unicode二进制转换到硬盘utf-8
1、内存中固定使用unicode编码,唯一能改变的是存储到硬盘时的编码
2、要想保证存取文件不乱吗,应该保证当时存的编码以什么方式存储,就以什么方式读取
python3默认读解器为utf-8
文件的开头内容#coding:utf-8 中的utf-8是确定文件解读时候用的是什么解读方式
总结:
在python3中的字符串类型str都是unicode编码,python3中的字符串类型可以编码成其他编码格式,
编码的结果是bytes
unicode----编码----->gbk encode
unicode<---解码------gbk decode