python基础之集合,字符编码
六、集合类型
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基础之集合,字符编码的更多相关文章
- python基础——6(字符编码,文件操作)
今日内容: 1.字符编码: 人识别的语言与机器识别的语言转化的媒介 ***** 2.字符与字节: 字符占多少字节,字符串转化 *** 3.文件操作: 操作硬盘中的一块区域:读写操作 ...
- Python基础编程:字符编码、数据类型、列表
目录: python简介 字符编码介绍 数据类型 一.Python简介 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心 ...
- Python 基础篇:字符编码、函数
字符编码 在python2默认编码是ASCII, python3里默认是utf-8 unicode 分为 utf-32(占4个字节),utf-16(占两个字节),utf-8(占1-4个字节), so ...
- Python基础之 一 字符编码及转换
python2 / python3编码转换 先上图一张: 说明:python编码转换的流程是 先进行decode解码,然后进行encode编码 解释: u'你好' -->带u表示为unicod ...
- Python基础(变量、字符编码、数据类型)
变量 变量名由字母.数字(不能为首字符).下划线组成,不能使用关键字 以下关键字不能声明为变量名 ['and', 'as', 'assert', 'break', 'class', 'continue ...
- Python基础3:字符编码
http://www.jb51.net/article/64917.htm Python 编码为什么那么蛋疼? https://i.cnblogs.com/EditPosts.aspx?postid= ...
- python基础知识3---字符编码
阅读目录 一 了解字符编码的知识储备 二 字符编码介绍 三 字符编码应用之文件编辑器 3.1 文本编辑器之nodpad++ 3.2 文本编辑器之pycharm 3.3 文本编辑器之python解释器 ...
- python之旅:字符编码
一 了解字符编码的知识储备 一 计算机基础知识 知识储备:cpu.内存.硬盘 二 文本编辑器存取文件的原理(nodepad++,pycharm,word) #1.打开编辑器就打开了启动了一个进程,是在 ...
- Java基础-二进制以及字符编码简介
Java基础-二进制以及字符编码简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必计算机毕业的小伙伴或是从事IT的技术人员都知道数据存储都是以二进制的数字存储到硬盘的.从事开 ...
- python文件操作:字符编码与文件处理
一.字符编码 二.文件处理 一.字符编码 储备知识点: 1. 计算机系统分为三层: 应用程序 操作系统 计算机硬件 2. 运行python程序的三个步骤 1. 先启动python解释器 2. 再将py ...
随机推荐
- VS开发工具 因插件问题导致 已停止工作 解决办法
解决方案如下:No1. 开始-->所有程序-->Microsoft Visual Studio 2012-->Visual Studio Tools-->VS2012 开发人员 ...
- 史诗级Java/JavaWeb学习资源免费分享
黑马内部视频+相关配套学习资料 Java Spring 技术栈构建前后台团购网站 Java SSM开发大众点评后端 欢迎关注微信公众号:Java面试通关手册 回复关键词: "资源分享第一波& ...
- ubuntu 下安装 activate-power-mode
转自网络 被朋友圈中的atom的activate-power-mode 震撼到了,于是想试试. 步骤如下 首先安装atom: sudo add-apt-repository ppa:webupd8te ...
- android 内核调试
这篇文档给出使用android emulator 和 arm-linux-androideabi-gdb 调试 android kernel 的方法 1. checkout goldfish 源码: ...
- Linux线程同步
1. 线程同步: 当多个控制线程共享相同的内存时,需要确保每个线程看到一致的数据视图.当某个线程可以修改变量,而其他线程也可以读取或者修改这个变量的时候,就需要对这些线程进行同步,以确保他们在访问变量 ...
- python 命名规范最近遇到的问题
1.remove redundant parentheses 出去多余的括号,写C#习惯了先加个括号,python的if不用加括号. 改为:if chrome_args().get("hea ...
- HDU 6188 Duizi and Shunzi 贪心
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6188 题意:给了n个数,然后现在问我们最多构成多少个对子和顺子,其中对子是2个相同的牌,顺子是3个连续 ...
- mybatis模糊查询sql
今天下午做的一个功能,要用到模糊查询,字段是description,刚开始我的写法用的是sql中的模糊查询语句, 但是这个有问题,只有将字段的全部值传入其中,才能查询,所以不是迷糊查询. 后来经过搜索 ...
- [ Python ] 文件的读写操作
1. 文件读写操作 读写文件是最常见的 IO 操作, Python 内置了读写文件的函数.在磁盘上读写文件的功能是由操作系统提供的,所以读写文件是请求操作系统打开一个文件对象(通常称为文件描述符),然 ...
- Leetcode 之Length of Last Word(38)
做法很巧妙.分成左右两个对应的部分,遇到左半部分则入栈,遇到右半部分则判断对应的左半部分是否在栈顶.注意最后要判断堆栈是否为空. bool isValid(const string& s) { ...