集合是容器型数据类型,将{}作为容器的标志,元素用,隔开{元素1,元素2,…}
集合是可变的,无序的(不支持下标操作)
元素:不可变的数据,唯一的(不重复数据,自带去重的功能)
1、创建一个空集合
set1 = set() print(set1, type(set1))
2、集合无序
print({1, 2, 3} == {3, 1, 2}) # true
3、集合元素是不可变数据
print({1, 2, 3, (1, 2)})
# print({1, 2, 3, [1, 2]}) # 报错:列表可变
4、集合元素唯一
print({1, 2, 3, 3, 2, 1, 2, 3, 4, 3, 2}) # {1, 2, 3, 4}
去重运用:
list1 = [1, 2, 3, 3, 2, 1, 2, 3, 4, 3, 2] print(list(set(list1)))
5、集合的增删改查
a、查找 ------遍历
for 变量 in 集合:
循环体
b、增加
集合.add(元素)
s1 = {'哎呀呀', '唉呀妈呀', '刘刘求', '刘一手'}
s1.add('宋人头')
print(s1)
集合.update(序列)
s1 = {'哎呀呀', '唉呀妈呀', '刘刘求', '刘一手'}
s1.update(('哎', '嘻嘻'))
print(s1)
c、删除
集合.remove(元素) -----删除指定元素,元素不存在报错
集合.discard(元素) ------删除指定元素,元素不存在不报错
d、集合不可修改
6、数学集合的运算(Python中的集合支持数学集合运算)
交集 集合1&集合2 ----获取两个集合的公共部分
并集 集合1|集合2 ----获取所有元素
差集 集合1-集合2 ----获取集合1中不包含在集合2中的元素
对称差集 集合1^集合2 ----获取集合1和集合2中不相同的元素(去除集合1和集合2 的公共部分)
子集 (<=,>=):包含集合本身
集合1>=集合2 ------判断集合2是否是集合1的子集
集合1<=集合2 ------判断集合1是否是集合2的子集
真子集(<,>):不包含集合本身
集合1>集合2 ------判断集合2是否是集合1的真子集
集合1<集合2 ------判断集合1是否是集合2的真子集
print(s1 >= {1, 2}) # True
print(s1 >= {1, 2, 3, 4, 5, 6, 7, 8, 9}) # True
print(s1 <= {1, 2}) # False
print(s1 > {1, 2}) # True
print(s1 > {1, 2, 3, 4, 5, 6, 7, 8, 9}) # False
print(s1 < {1, 2}) # False
二、字符串(str)
字符串是容器型数据类型,将’’、""、’’’’’’、""""""作为容器标志,里面每个符号就是他的元素
不可变的,有序的(支持下标操作)
元素(字符):引号中的每个符号,这种符号分为两种:普通字符和转义字符
1、空字符串:"""开头或者’’'开头的字符串,可以通过直接在字符串内部回车直接换行
'开头或者"开头的字符串换行必须使用转义字符n
str1 = '' str2 = "" str3 = '''''' str4 = """"""
2、字符:字符串中的元素,每个独立的符号
1)普通字符:在字符串中标志符号本身
2)转义字符:以开头,具备特殊意义和功能
n 换行
str_1 = 'abcn123' print(str_1)
t 水平制表符(tab键)
str_1 = 'abct123' print(str_1)
’ 一个单引号
" 一个双引号
反斜杠符号
3、字符编码 ----转义字符的一类:计算机存储文字符号时,储存的是文字符号的编码值(每一个文字对应固定的数字,数字就是文字的编码值)
u 四位的16进制数 ----四位的16进制数是字符编码值
16进制数 0123456789abcdef:af,3f4,4ac3
str_1 = 'abcu5fb5123' print(str_1)
字符编码表:存储每个符号对应的编码值
1)ASCII码表:
总共有128字符
数字字符在大写字母前面
大写字母在小写字母前面
大写字母和小写字母之间有间隙
2)Unicode编码表(Python使用的
包含了世界上所有国家,名族所有语言的符号
Unicode中包含ASCII码表
中文编码范围:4e00~9fa5
chr(编码值) ----获取编码值对应的字符
ord(字符) -----获取字符对应的编码值
编码字符 u4位16进制(不足4位在前面加0补齐)
python中16进制数的表示方式:0x十六进制数
print(chr(36)) print(chr(0x4E00))
4、字符串相关操作
查找 -----字符串获取元素和列表获取元素相同
str[下标] 注意:一个转义字符的长度是1
str1 = "you see seen one day day" print(str1[5]) print(len(str1)) print(str1[2:17]) print(str1[::-1])
遍历
for 变量 in 字符串: 循环体
数学运算 + *
比较运算(比较第一对不相等的编码值的大小)
print('123' == '123') # True
print('123' == '132') # False
print('aN123' > 'a123') # True
判断字符的性质:
是否是数字字符;‘0’<=x<=‘9’
是否是大写字母:’A‘<=X<=‘Z’
是否是小写字母:‘a’<=x<=‘z’
是否是字母:’A‘<=X<=‘Z’ or ‘a’<=x<=‘z’
是否是中文:u4e00<=x<=u9fa5
in 和 not in ----判断字符串2中是否包含字符串1
print('ab' in 'abcd') # True
print('ab' in 'acbd') # False
5、相关函数
len() —统计字符串长度
str(数据) —将数据转换为字符串:任何数据都可以转换为字符串
转换的时候直接在数据的打印值外加引号



