码迷,mamicode.com
首页 > 其他好文 > 详细

集合和字符编码

时间:2020-03-12 23:53:40      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:乱码   定义   文件存取   move   nothing   交集   int   需要   并集   

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

集合和字符编码

标签:乱码   定义   文件存取   move   nothing   交集   int   需要   并集   

原文地址:https://www.cnblogs.com/Tornadoes-Destroy-Parking-Lots/p/12483370.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!