-->
Python 元组集合
一、元组
- 元组和列表差不多.也是存一组数. PS:元组一旦创建便不可更改. 故又称只读列表.存放一些不想被人修改的数据.如身份证等信息
- 语法:
- name = ("yuhonglin","gouer","xixihaha")
- 方法:
只有两方法.
1.count
2.index
二、集合
- 定义:由不同元素组成的集合. 集合是一个无序排列可hash值. 可以作为字典的key
- 作用:
- 去重. 把一个列表变成集合,就自动去重了(set)
- 关系测试 测试两组数据之前的交集\差集\并集等关系
- 特性:集合的目的是将不同的值存放在一起. 不用的集合间用来做关系运算. 无需纠结于集合中的单个值
- PS:打印时自动去重
- 创建集合:
- S1 = {"a",1,2,3,2,3,1,4} PS:集合是用逗号就行分割的.
- 集合的相关方法
定义两个集合: python_list = {"Yuhl","Yulan","Zhaoyizao","Gouer","Liuyaojun"} linux_list = {"Yuhl","Liuyaojun"} #定义空列表. 找出报了python and linux课程的人员. 娄逼写法 both_list = [] for name in linux_list: if name in python_list: both_list.append(name) print(both_list) #交集 打印出共有的 如果有三个的话. 接着向后写& 或者intersection print(python_list&linux_list) print(python_list.intersection(linux_list)) #并集. 取两个集合的所有值. print(python_list|linux_list) print(python_list.union(linux_list)) #差集. 找出出唯一的. A-B 打印出A中不包含B中的数据.A中包含的数据不打印 B-A打印出B中不包含A中的数据.B中包含的数据不打印. #PS:可以集合名可以反过来写. print(python_list-linux_list) print(linux_list-python_list) print(python_list.difference(linux_list)) #对称差集 找出两集合中不同的数据. 去掉相同的数据. print(python_list^linux_list) print(python_list.symmetric_difference(linux_list)) #子集 print(python_list <= linux_list) print(python_list.issubset(linux_list)) # PS:python_list 是不是 linux_list的子集. 是返回Ture 不是返回False #父集 print(python_list >= linux_list) print(python_list.issuperset(linux_list)) # PS:python_list 是不是 linux_list的父集. 是返回Trur 不是返回False
- 集合的内置方法
定义一个集合 S1 = {1,2,3} #update 向集合中插入数据. 只插入不存在的. 如果是字符串会拆开向里面插入. 更新 S1.update("e") print(S1) 输出:{1, 2, 3, ‘e‘} S1.update((2,3,4)) print(S1) 输出:{1, 2, 3, 4} S2 = {"H","W",1} S1.update(S2) print(S1) 输出:{1, 2, 3, ‘H‘, ‘W‘} #add 将整个加入到集合中 S1.add("hello") print(S1) 输出:{1, 2, 3, ‘hello‘} #pop 随机删除集合中的某一个元素 S1.pop() print(S1) 输出:{2, 3} #remove 删除制定元素. 如果集合中没有这个会直接报错. S1.remove(1) print(S1) 输出:{2, 3} #discard 删除指定元素. 存在正常删除. 如果不存在也不抱错. S1.discard("w") print(S1) 输出:{1, 2, 3} #clear 清空 S1.clear() print(S1) 输出:set() #copy 浅拷贝 S2 = S1.copy() print(S2,S1) 输出:{1, 2, 3} {1, 2, 3} S1 = {1,2,3,"A","E"} S2 = {1,2,3} print(S1.difference(S2)) 输出:{‘A‘, ‘E‘} print(S1) 输出:{1, 2, 3, ‘A‘, ‘E‘} print(S1.difference_update(S2)) 输出:None print(S1) 输出:{‘A‘, ‘E‘}
原文地址:https://www.cnblogs.com/SnailIng/p/9919322.html
时间: 2024-10-07 07:10:38