六、集合类型

1.用途:关系运算

2.定义方式:s = {1,2,’a’}

{}内用,分隔开多个元素,每个元素都必须是不可变(即可hash)类型

强调:2.1集合内的元素时无序的

2.2集合内的元素不能重复

2.3集合内元素必须不可变

集合的目的是将值放在一起,无需纠结单个值

单纯用集合去重,需要注意的问题:

1.去重的目标所包含的值必须都要为不可变类型

2.去重的结果会打乱原来的顺序

3.常用的内置方法和操作

①长度 len     ②in/not in

③a = {‘a’, 2, ’g’}              b = {‘a’, 5, 8}

并集 |  (a|b)           交集 & (a&b)           差集 -     (a-b)

对称差集 ^  (a^b)        等于==             父集 >   >=        子集  <   <=

④a.isdisjoint()                 没有交集就返回True

⑤a.add()  添加单个值    ⑥a.update({2,5,6})                添加一个集合

⑦a.pop()  删除随机    ⑧a.remove(5)          删除指定值

⑨a.discard(9)  删指定值,不存在也不会报错

总结:存多个值,无序,可变

字符编码:

什么是字符编码?

将人类的字符编码成计算机能识别的数字,这种转换必须遵循一套固定的标准,这种对应关系称为字符编码表

ASCII码表:用1Bytes表示一个英文字符

GBK:用2Bytes表示一个中文字符,1Bytes去表示英文字符

unicode:2Bytes表示英文与中文等字符,内存中使用的是unicode,把全世界的字符都建立了对应关系

utf-8:用1Bytes表示英文,用3Bytes表示中文

unicode与其它各国编码都有映射关系,而utf-8没有,所以内存中都用的unicode

必须记住的概念:

①内存中固定使用unicode编码,我们只能改变存到硬盘时的编码

②要想保证不乱码,应保证什么编码存,就用什么编码读

③python3解释器默认编码为utf-8

Python2解释器默认编码为ASCII

unicode----->encode-------->utf-8

utf-8-------->decode---------->unicode

总结:1.在python2中,字符串str类型都是按文件头编码的

2.在python2中,unicode的字符串需在字符串前加u

3.在python3中的字符串都是str类型,都是用unicode编码的

4.在python3中,字符串可以编码成其他字符串类型,结果为bytes类型

python基础之集合,字符编码的更多相关文章

  1. python基础——6(字符编码,文件操作)

    今日内容: 1.字符编码: 人识别的语言与机器识别的语言转化的媒介 *****     2.字符与字节: 字符占多少字节,字符串转化 ***     3.文件操作: 操作硬盘中的一块区域:读写操作  ...

  2. Python基础编程:字符编码、数据类型、列表

    目录: python简介 字符编码介绍 数据类型 一.Python简介 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心 ...

  3. Python 基础篇:字符编码、函数

    字符编码 在python2默认编码是ASCII, python3里默认是utf-8 unicode 分为 utf-32(占4个字节),utf-16(占两个字节),utf-8(占1-4个字节), so ...

  4. Python基础之 一 字符编码及转换

    python2 / python3编码转换 先上图一张: 说明:python编码转换的流程是 先进行decode解码,然后进行encode编码 解释: u'你好'  -->带u表示为unicod ...

  5. Python基础(变量、字符编码、数据类型)

    变量 变量名由字母.数字(不能为首字符).下划线组成,不能使用关键字 以下关键字不能声明为变量名 ['and', 'as', 'assert', 'break', 'class', 'continue ...

  6. Python基础3:字符编码

    http://www.jb51.net/article/64917.htm Python 编码为什么那么蛋疼? https://i.cnblogs.com/EditPosts.aspx?postid= ...

  7. python基础知识3---字符编码

    阅读目录 一 了解字符编码的知识储备 二 字符编码介绍 三 字符编码应用之文件编辑器 3.1 文本编辑器之nodpad++ 3.2 文本编辑器之pycharm 3.3 文本编辑器之python解释器 ...

  8. python之旅:字符编码

    一 了解字符编码的知识储备 一 计算机基础知识 知识储备:cpu.内存.硬盘 二 文本编辑器存取文件的原理(nodepad++,pycharm,word) #1.打开编辑器就打开了启动了一个进程,是在 ...

  9. Java基础-二进制以及字符编码简介

    Java基础-二进制以及字符编码简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必计算机毕业的小伙伴或是从事IT的技术人员都知道数据存储都是以二进制的数字存储到硬盘的.从事开 ...

  10. python文件操作:字符编码与文件处理

    一.字符编码 二.文件处理 一.字符编码 储备知识点: 1. 计算机系统分为三层: 应用程序 操作系统 计算机硬件 2. 运行python程序的三个步骤 1. 先启动python解释器 2. 再将py ...

随机推荐

  1. hdfs文件上传机制与namenode元数据管理机制

    1.hdfs文件上传机制 文件上传过程:   1.客户端想NameNode申请上传文件, 2.NameNode返回此次上传的分配DataNode情况给客户端 3.客户端开始依向dataName上传对应 ...

  2. ctsc&apio2018八日游

    day0: 早就知道自己是打酱油的..早就做好了打铁的准备.. Q:那你来干嘛 A:当然是来玩啊!!玩啊!啊!! emmmmm 抱着半期考不及格的卷子瑟瑟发抖地上了飞机. day1:报道!当然还有在宾 ...

  3. Java21个基础知识点

    类装载器就是寻找类的字节码文件,并构造出类在JVM内部表示的对象组件.在Java中,类装载器把一个类装入JVM中,要经过以下步骤: (1) 装载:查找和导入Class文件: (2) 链接:把类的二进制 ...

  4. MyBatis 模糊查询 防止Sql注入

    #{xxx},使用的是PreparedStatement,会有类型转换,所以比较安全: ${xxx},使用字符串拼接,可以SQL注入: like查询不小心会有漏洞,正确写法如下:   Mysql:   ...

  5. 修改VNCSERVER 默认的分辨率的方法

    vi /usr/bin/vncserver /1024 找到默认的1024*768修改为 :1680*1050 reboot 重启

  6. HDU-5360

    Hiking Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Su ...

  7. git 修改 本地分支名称

    http://www.yiibai.com/git/git_managing_branches.html 重命名分支 假设需要在项目中添加对宽字符的支持.并且已经创建了一个新的分支,但分支名称需要重新 ...

  8. 《逐梦旅程 WINDOWS游戏编程之从零开始》笔记6——四大变换&光照与材质

    第13章 四大变换 在Direct3D中,如果为进行任何空间坐标变换而直接绘图的话,图形将始终处于应用程序窗口的中心位置,默认这个位置就成为世界坐标系的原点(0,0,0).而且我们也不能改变观察图形的 ...

  9. FFmpeg软件只是个解码编码软件,如果支持多种格式必须先安装好对应的库,下面就说下我装的库

    FFmpeg软件只是个解码编码软件,如果支持多种格式必须先安装好对应的库,下面就说下我装的库:1. 安装faad2 # wget http://downloads.sourceforge.net/fa ...

  10. Docker 常用命令收集

    查看Docker版本 docker version 查看 Image docker images 打包 Image docker save -o ‘packageName.tar’ ‘imageNam ...