集合和字符编码
Posted tornadoes-destroy-parking-lots
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合和字符编码相关的知识,希望对你有一定的参考价值。
1、定义
{}内用逗号分隔开多个元素,元素满足下列条件:
a、集合内元素为不可变型
b、集合内元素无序
c、集合内元素不能重复,重复的元素只算一个
关系运算
friends1 = {"zero","kevin","jason","egon"}
friends2 = {"Jy","ricky","jason","egon"}
a、取交集:两个集合相同的元素
res = friends1 & friends2
b、取并集/合集:两集合所有的元素
res = friends1 | friends2
c、取差集:一个集合里取出共有的元素,剩下来的为差集
friends1 的:res = friends1 - friends2
friends2 的:res = friends2 - friends1
d、对称差集:两个集合独有的元素,即去除共同的元素
res = friends1 ^ friends2
e、父子集
1、s1:{1,2,3}
s2:{1,2,4} #不存在包含关系
print(s1>s2) #False
2、只有当集合s2从属于s1的时候,s1才能成为s2的父集
当s1=s2时,则互为父子集
其他内置方法
s={1,2,3}
需要掌握的内置方法
1:discard
s.discard(4) # 删除元素不存在do nothing
print(s)
s.remove(4) # 删除元素不存在则报错
2:update
s.update({1,3,5})
print(s)
3:pop
res=s.pop()
print(res)
4:add
s.add(4)
print(s)
x="上"
内存
上-------翻译-----》0101010
上《----翻译《-----0101010
GBK表:
支持英文字符、中文字符
采用8位(8bit=1Bytes)二进制数对应一个英文字符串
采用16位(16bit=2Bytes)二进制数对应一个中文字符串
unicode内存中统一使用unicode:
兼容万国字符
与万国字符都有对应关系
采用16位(16bit=2Bytes)二进制数对应一个中文字符串
个别生僻会采用4Bytes、8Bytes
utf-8:
英文->1Bytes
汉字->3Bytes
结论:
内存固定使用unicode,我们可以改变的是存入硬盘采用格式
英文+汉字-》unicode-》gbk
英文+日文-》unicode-》shift-jis
万国字符》-unicode-》utf-8
文本文件存取乱码问题
存乱了:解决方法是,编码格式应该设置成支持文件内字符串的格式
取乱了:解决方法是,文件是以什么编码格式存如硬盘的,就应该以什么编码格式读入内存
以上是关于集合和字符编码的主要内容,如果未能解决你的问题,请参考以下文章