集合和字符编码

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
 
    文本文件存取乱码问题
        存乱了:解决方法是,编码格式应该设置成支持文件内字符串的格式
        取乱了:解决方法是,文件是以什么编码格式存如硬盘的,就应该以什么编码格式读入内存

以上是关于集合和字符编码的主要内容,如果未能解决你的问题,请参考以下文章

字符编码学习总结

集合+字符编码

Python2.7字符编码详解

第二章 集合 字符编码

搞定字符集与字符编码

字库编码字符集字符编码的学习