元组
Python内置数据结构之一,是一个不可变序列
不可变序列与可变序列
-. 不可变序列:字符串、元组(没有增删改操作)
-. 可变序列:列表、字典(可以进行增删改操作,对象的地址不发生改变)
元组的创建方式
- 直接使用小括号创建
- 使用内置函数tuple创建(注:只包含一个元素的元组需要小括号和逗号)
代码展示
p =("python",34,True)
print(p)
print(type(p))
t=tuple(("c","java",12))
print(t)
print(type(t))
for s in t:
print(s,end=' ')
注意元组是不可变对象,如果元组中的对象是不可变对象,则不能在引用其他对象;如果元组中的对象是可变对象,则可变对象的引用不能改变,但数据可以改变
集合
集合
- Python语言提供的内置数据结构
- 与列表、字典一样属于可变类型的的序列
- 集合是没有value值的字典
- 集合中的元素不允许重复
- 集合中的元素是无序的
集合的创建方式
- 使用{}
- 使用set()函数
代码展示
s ={1,3,3,3,34,5,6,7}
print(s,type(s))
s1=set(range(1,10))
s1=set(range(4,7))
print(s1,type(s1))
集合的相关操作
元素是否在集合中存在 in not in
添加操作:
集合.add(元素) 一次添加一个元素
集合.update() 一次至少添加一个元素
删除操作:
集合.remove(元素) 一次删除一个指定元素,如果指定元素不存在则会抛出KeyError
集合.discard(元素) 一次删除一个指定元素,如果指定元素不存在不会抛出异常
集合.pop() 一次值删除一个任意元素
集合.clear() 清空集合
s={1,2,3,5,6,7,8,9}
print(1 in s)
print(4 in s)
s.remove(3)
print(s)
s.discard(4)
print(s)
s.discard(7)
print(s)
s.pop()
print(s)
集合间的关系
符合 | 说明 |
---|---|
== | 两个集合是否相等 |
!= | 两个集合是否不等 |
issubset | 一个集合是否为另一个集合的子集 |
issuperset | 一个集合是否为另一个集合的超集 |
isdisjoint | 两个集合是否没有交集 |
intersection或者& | 两个集合的交集 |
union | 两个集合的并集 |
difference或者- | 两个集合的差集 |
样例展示
s1={1,2,3,4,5}
s2={6,7,8,9,10}
print('s1、s2是否相等',s1==s2)
print("s1、s2是否相等",s1!=s2)
print("s1是否s2的子集",s1.issubset(s2))
print("s1是否s2的超集",s1.issuperset(s2))
print("s1、S2是否存在交集",s1.isdisjoint(s2))
print('s1、s2交集',s1.intersection(s2))
print('s1、s2并集',s1.union(s2))
集合生成式
s={i*i for i in range(1,10)}
print(s)