集合是容器型数据类型, 将{}作为容器的标志里面多个元素用逗号隔开:{元素1,元素2,元素3,…} 它是可变的;无序的 元素:不可变的数据;唯一的
1)空集合
x = {} # 空字典 s1 = set() # 空集合 print(type(x), type(s1)) # <class 'dict'> <class 'set'> print(s1) # set() x = {} s1 = set() print(type(x), type(s1))2)元素是不可变的
s2 = {10, 'abc', (1, 2)} print(s2) # {(1, 2), 'abc', 10} s2 = {10 ,'abc', (1, 2)} print(s2)3)元素是唯一的
s4 = {10, 20, 30, 10, 10} print(s4) # {10, 20, 30}4)集合是无序的 print({1, 3, 5} == {5, 1, 3}) # True
2.集合的增删改查 1)查 - 集合只能遍历 补充:通过for循环遍历无序序列的时候,都是先将序列转换成列表,然后遍历列表
games = {'QQ炫舞', '扫雷', '贪吃蛇', '我的世界', '侠盗猎车', '红警'} for x in games: print('x:', x)2)增 集合.add(元素) - 在集合中添加指定元素 集合.update(序列) - 将序列中所有的元素添加到集合中 games.add(‘英雄联盟’) print(games)
games.update({‘开心消消乐’, ‘王者荣耀’}) print(games)
games.update(‘abc’) print(games) # {‘红警’, ‘贪吃蛇’, ‘QQ炫舞’, ‘英雄联盟’, ‘王者荣耀’, ‘扫雷’, ‘侠盗猎车’, ‘开心消消乐’, ‘a’, ‘c’, ‘b’, ‘我的世界’}
3)删 集合.remove(元素) - 删除集合中指定的元素(元素不存在会报错) 集合.discard(元素) - 删除集合中指定的元素(元素不存在不会报错) games = {‘QQ炫舞’, ‘扫雷’, ‘贪吃蛇’, ‘我的世界’, ‘侠盗猎车’, ‘红警’} games.remove(‘贪吃蛇’) print(games) # {‘扫雷’, ‘红警’, ‘QQ炫舞’, ‘我的世界’, ‘侠盗猎车’}
games.discard(‘我的世界’) print(games) # {‘红警’, ‘扫雷’, ‘侠盗猎车’, ‘QQ炫舞’}
4)改 - 先删除原来的,再添加新的 games = {‘QQ炫舞’, ‘扫雷’, ‘贪吃蛇’, ‘我的世界’, ‘侠盗猎车’, ‘红警’} games.remove(‘扫雷’) games.add(‘部落冲突’)
3.数学集合运算 python中的集合支持数学中的集合运算:&(交集)、|(并集)、-(差集)、^(对称差集)、 >、<、>=, <=(判断包含关系)
set1 = {1, 2, 3, 4, 5, 6, 7} set2 = {4, 5, 6, 7, 8, 9, 10} 1) 集合1 & 集合2 - 求连个集合的公共部分 print(set1 & set2) # {4, 5, 6, 7} 集合1 | 集合2 - 合并两个集合产生一个新的集合 print(set1 | set2) # {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} 集合1 - 集合2 - 集合1去掉包含在集合2中剩下的元素 print(set1 - set2) # {1, 2, 3} print(set2 - set1) # {8, 9, 10} 集合1 ^ 集合2 - 将两个集合合并后去掉公共部分 print(set1 ^ set2) # {1, 2, 3, 8, 9, 10}5) 集合1 > 集合2 - 判断集合2是否是集合1的真子集 集合1 < 集合2 - 判断集合1是否是集合2的真子集 集合1 >= 集合2 - 判断集合2是否是集合1的子集 集合1 <= 集合2 - 判断集合1是否是集合2的子集
print({1, 2, 3, 4} > {1, 2}) # True print({1, 2, 3, 4} > {1, 2, 3, 4}) # False print({1, 2, 3, 4} >= {1, 2, 3, 4}) # True print({1, 2, 3, 4} >= {1, 2}) # True print({100, 200, 300} > {1, 2}) # False字符串是容器型数据类型,将’’、""、’’’’’’、""""""作为容器的标志里面的每一个基本符号就是字符串的元素 字符串是不可变的(不支持增删改);字符串是有序的(支持下标操作) 元素:引号里面的每个基本单元就是字符串的元素,又叫字符(python中只有字符的概念没有字符对应的类型,一般直接使用长度是1的字符串来表示字符)
‘’、"" - 字符串中不能直接换行 s5 = ‘氨基酸jss232-=12asf束带结发’ s6 = ‘’’ 床前明月光, 疑是地上霜. 举头望明月, 低头思故乡. ‘’’ print(s5) print(s6)
print(‘abc’ == ‘cba’) # False
字符分为普通字符和转义字符两种: 1)转义字符 在特定的一个或者多个符号前加\让符号具有特殊功能或者特殊意义。那么这种带有\字符就是转义字符: \n - 换行 \t - 水平制表符(相当于按一下tab键) ’ - 表示一个普通的单引号 " - 表示一个普通的双引号 \ - 表示一个普通的反斜杠
注意:任意一个转义字符长度都是1
除了转义字符以外的字符都是普通字符,普通字符在字符串中表示这个符号本身,包括:汉字、数字、字母、符号、表情符号等… ‘shdj’、‘收到货积分’、‘shd23’、’%……&*(’、‘🙂😿❀’ “”"
1)什么是字符编码 计算机在存储数据的时候只能存数字(存的数字二进制补码),为了能够让计算机存储字符,我们给每一个字符都对应一个固定的数字,那么每个字符对应的固定的数字就是这个字符的编码值
2)字符编码表 - 记录字符和数字之间一一对应关系的表就是字符编码表 常见的字符编码表有两种:ASCII码表、Unicode编码表(python采用的是Unicode编码表) a. ASCII码表 ASCII码表总共有128个字符对应的编码,主要包含的是美国的通用符号其中包括:英文标点符号、数字字符、字母字符以及其他的一些符号 ASCII码表中,数字字符在字母的前面,大写字母在小写字母的前面,大写字母和小写字母之间有间接
b. Unicode编码表 Unicode编码表包含ASCII码表 中文编码范围:4e00 ~ 9fa5
