集合

  用括号表示{ },可以包含多个元素,用逗号分割

用途

  用于关系运算

集合特点

1.每个元素是不可变类型

2.没有重复的元素

3.无序
 

应用

1.set去重

set(names)的功能是将列表转换成集合,并去除重复值
但是因为集合里面的元素时不可变的,所以set在去重时对象所包含的值不能有不可变类型,例如不能有 [ ]{ }
names=['zhangsan','lisi','wangwu','zhangsan','zhaoliu']
s=set(names)
print(s)
E:\PycharmProjects\untitled\venv\Scripts\python.exe E:/PycharmProjects/untitled/平时问题积累.py
{'zhangsan', 'lisi', 'zhaoliu', 'wangwu'}

 2.合集功能

pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
linuxs={'wupeiqi','oldboy''gangdan',}
# 1.长度
print(len(pythons))
# 2.成员运算 True False
print('alex' in pythons)
# 3.并集(2个变量合并,重复元素只取一个)
print(pythons | linuxs) # 4.交集( 取出同值)
print(pythons & linuxs)
# 5.对称差集(剔除共同值,合并其他值)
print(pythons ^ linuxs) # 5.差集(左-右 剔除右边元素里面和左相同值 ,最后打印左边剩余的)
print(pythons - linuxs)
E:\PycharmProjects\untitled\venv\Scripts\python.exe E:/PycharmProjects/untitled/平时问题积累.py
6
True
{'yuanhao', 'oldboygangdan', 'alex', 'gangdan', 'wupeiqi', 'egon', 'biubiu'}
{'wupeiqi'}
{'yuanhao', 'oldboygangdan', 'egon', 'alex', 'biubiu', 'gangdan'}
{'yuanhao', 'egon', 'biubiu', 'alex', 'gangdan'} s1={1,2,3,4,5}
s2={1,2,3,}
# 6.相等
print(s1 == s2)
# 7.父集(包含关系)
print(s1 >= s2)
# 8.父集(被包含关系)
print(s2 <= s1) E:\PycharmProjects\untitled\venv\Scripts\python.exe E:/PycharmProjects/untitled/平时问题积累.py
False
True
True

字符编码

如何理解字符编码:将人类的字符编码/转换成计算机能识别的数字,这种转换必须遵循一套固定的标准,

该标准无非是,人类字符与数字的对应关系,称之为字符编码表。

A---->0000 0000      bit:是二进制位   byte:字节
B---->0000 0001
c---->0000 0002
d---->0000 0003

unicode与utf-8理解

1个英文字母=8bit=1bytes

英文字符:ASCII码表:用1Bytes表示一个英文字符
     1英文字符=8bit=1Bytes 中文字符:GBK:用2Bytes表示一个中文字符,1Bytes去表示英文字符 unicode:内存中使用的是unicode编码,unicode把全世界的字符都建立好对应关系
  用2Bytes去表示一个字符 utf-8 #unicode tranform format-8
utf-8 用1Bytes表示英文,用3Bytes表示中文

字符编码需要记住的概念:

01:内存中固定使用unicode编码,我们唯一可以改变的存储到硬盘时使用的编码

02: 要想保证存取文件不乱乱码,应该保证文档当初是以什么编码格式存的,就应该以什么编码格式去读取

字符编码应用:

1)pyhton2

在python2中有两种字符串编码格式
1、unicode:
x=u'上' x为unicod类型
2、unicode编码后的结果
x='上' #如果文件头为coding:utf-8,那么"上"被存成utf-8格式的二进制 x为str类型 在python3只有一种字符串编码格式:
1、unicode
x='上’ x为str类型

书写

#***
#coding:gbk
x='上’
x.decode('gbk') #coding:gbk
x=u'上'
x.encode('gbk')
x.encode('utf-8')

理解编码与解码

unicode-------编码encode-------->gbk
unicode<-------解码decode--------gbk

2)Python3

   在python3中(*****)
x='上'
x只能进行编码
x.encode('gbk')

3)Pyhton2与Python3使用总结

总结python2与python3:
(***)
在python2中的字符粗类型str都是unicode按照文件头的指定的编码,编码之后的结果
在python2中也可以制造unicode编码的字符串。需要在字符串前加u (*****)
在python3中的字符串类型str都是unicode编码的
所以python3中的字符串类型可以编码成其他字符编码格式,编码的结果
是bytes类型

Bytes类型与二进制的演变:

#看“中”bytes—二级制之间的转换
res='中'.encode('utf-8')
print(res) #b'\xe4\xb8\xad' #循环取出这个bytes
for i in b'\xe4\xb8\xad':
print(i)
'''
228
184
173 ''' #发现字符“中”由三个3位数据构成,即228 184 173,
# 将其转化成二进制格式
print(bin(228)) #0b11100100
print(bin(184)) #0b10111000
print(bin(173)) #0b10101101 #二进制,即在计算机中的存储方式
#发现字符“中”的utf-8编码方式为:11100100 10111000 10101101,这也是它在计算机中存储的方式。 #ASCII码能够表示的字符(0-9a-zA-Z及一些标点符号转义字符等)转化成utf-8码不发生改变,因为utf-8编码是ASCII编码的超集。 res1='afAFA!@#'.encode('utf-8') #b'afAFA!@#'
print(res1) #而实际上存储的是各字符的ASCII码值: for j in b'afAFA!@#':
print(j)
'''
97
102
65
70
65
33
64
35 '''

python集合、字符编码、bytes与二进制的更多相关文章

  1. Python基础-字符编码与转码

    ***了解计算机的底层原理*** Python全栈开发之Python基础-字符编码与转码 需知: 1.在python2默认编码是ASCII, python3里默认是utf-8 2.unicode 分为 ...

  2. Python常见字符编码间的转换

    主要内容:     1.Unicode 和 UTF-8的爱恨纠葛     2.字符在硬盘上的存储     3.编码的转换     4.验证编码是否转换正确     5.Python bytes类型 前 ...

  3. python 3字符编码

    python 3字符编码 官方链接:http://legacy.python.org/dev/peps/pep-0263/ 在Python2中默认是ascii编码,Python3是utf-8编码 在p ...

  4. 转:Python常见字符编码及其之间的转换

    参考:Python常见字符编码 + Python常见字符编码间的转换 一.Python常见字符编码 字符编码的常用种类介绍 第一种:ASCII码 ASCII(American Standard Cod ...

  5. Python常用字符编码(转)

    Python常用字符编码   字符编码的常用种类介绍 第一种:ASCII码 ASCII(American Standard Code for Information Interchange,美国信息交 ...

  6. Python 的字符编码

    配置: Python 2.7 + Sublime Text 2 + OS X 10.10 本文意在理清各种编码的关系并以此解决 Python 中的编码问题. 1 编码基本概念 只有先了解字符表.编码字 ...

  7. python(字符编码与转码)

    一.字符编码演变史 二进制(0 1) """ 算机中的所有数据,不论是文字.图片.视频.还是音频文件,本质上最终都是按照类似 01010101 的二进制存储的,再说简单点 ...

  8. Python的字符编码

    Python的字符编码 1. Python字符编码简介 1. 1  ASCII Python解释器在加载.py文件的代码时,会对内容进行编码,一般默认为ASCII码.ASCII(American St ...

  9. python的str,unicode对象的encode和decode方法, Python中字符编码的总结和对比bytes和str

    python_2.x_unicode_to_str.py a = u"中文字符"; a.encode("GBK"); #打印: '\xd6\xd0\xce\xc ...

  10. python之----------字符编码具体原理

    1.内存和硬盘都是用来存储的. CPU:速度快 硬盘:永久保存 2.文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开编辑器就可以启动一个进程,是在内存中的,所以在编辑器编 ...

随机推荐

  1. 新项目升级到JFinal3.5之后的改变-着重体验自动依赖注入

    最近,JFinal3.5发布,喜大普奔,我也应JBolt用户的需求,将JBolt进行了升级,实现可配置自动注入开启,支持JFinal3.5的项目生成.具体可以看:JBolt升级日志 这等工作做完后,我 ...

  2. 小目标 | DAX高级实践-Power BI与Excel联合应用

    · 适用人群:数据分析专业人士,在数据分析方向需求发展人士 · 应用场景:数据汇报.数据可视化展现.数据建模分析 · 掌握难度:★★★★☆ 本期讲师 DAX高级实践-Power BI与Excel联合应 ...

  3. 10款免费的MySQL数据库图形化管理工具

    绝大多数的关系数据库都明显不同于MS Access,它们都有两个截然不同的部分:后端作为数据仓库,前端作为用于数据组件通信的用户界面.这种设计非常巧妙,它并行处理两层编程模型,将数据 层从用户界面中分 ...

  4. 2002-2003 ACM-ICPC Northeastern European Regional Contest (NEERC 02) H Heroes Of Might And Magic (隐含dp)

    问题是求一个方案,实际隐含一个dp.法力是递减的,所以状态是DAG,对于一个确定的状态,我们贪心地希望英雄的血量尽量大. 分析:定义状态dp[i][p][h]表示是已经用了i的法力值,怪兽的位置在p, ...

  5. 得到本地机器的IP地址

    实现效果: 知识运用: DNS类的GetHostByName   //获取指定DNS主机名的DNS信息 public static IPHostEntry GetHostByName (string ...

  6. 用Windows Native API枚举所有句柄及查找文件句柄对应文件名的方法

    枚举所有句柄的方法 由于windows并没有给出枚举所有句柄所用到的API,和进程所拥有的句柄相关的只有GetProcessHandleCount这个函数,然而这个函数只能获取到和进程相关的句柄数,不 ...

  7. mysql绿色版下载及应用

    一.mysql绿色版下载 第一歩:打开下载网址:https://www.oracle.com 点击Menu-->Database and Technologies-->Databases- ...

  8. shell时间变量拼接问题

    shell时间变量拼接问题 例1 ABC=ABC_`date –date='yesterday' "+%Y%m%d"`

  9. C/C++基础知识:函数指针和指针函数的基本概念

    [函数指针] 在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址.可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指 ...

  10. B. Anatoly and Cockroaches

    B. Anatoly and Cockroaches time limit per test 1 second memory limit per test 256 megabytes input st ...