今天学习元组与集合

元组(不可变序列)

创建元组时使用小括号,列表使用方括号,字典使用花括号

第一种创建方式(直接使用小括号)

a=(1,2,3,4,5,6)
print(a,type(a))
b=(2,)  当只有一个元素时,创建元组时要在元素末尾加‘,’
print(b,type(b))

输出结果

(1, 2, 3, 4, 5, 6) <class 'tuple'>
(2,) <class 'tuple'>

第二种创建方式(使用tuple()函数)

t1=tuple((1,2,3,4,5,6,7,8))
print(t1,type(t1))

(1, 2, 3, 4, 5, 6, 7, 8) <class 'tuple'>

#2.'''空元组,序列,字典'''
lst=[]
lst1=list()#序列

a={}
d=dict()#字典

t1=()
t2=tuple()#元组
u=set()
print(u,type(u))#集合

#3'''如果元组的某个元素组成的类型为可变的序列,则可以添加元素进入
可变元素当中,且元素的地址不变'''

t=tuple((33,[99,88]))
print(t[0],type(t[0]))#这里的【99,88】是序列,序列属于可变序列
print(t[1],type(t[1]))#这里的1和0是索引的位置

33 <class 'int'>
[99, 88] <class 'list'>
 

添加元素(以上面得为例)(append())

t[1].append(999999)
print(t)

(33, [99, 88, 999999])

元组的遍历

for i in t:
    print(i)

33
[99, 88, 999999]#分别列举出元组的元素
 

集合

集合的创建(利用花括号或者set()函数)

1.

s={99,66,77,77,'张三'}#元素不能重复
print(s,type(s))

2.

b=set(range(6))
print(b)

集合的操作

'''集合的判断 in 与for in'''
s={55,1,2,4}
print(1 in s)
'''新增操作'''
s.add(999)
print(s)#只能添加一个
2.
s.update({444,555,666})
s.update((9,6,3,5))#元组式......添加
print((s))#至少添加一个
'''删除操作'''
#1 remove 删除指定元素
a={1,2,3,4,5,6,7,8,9}
a.remove(1)
print(a)
#输入不存在元素时会报错
#2 discard()
a.discard(4)
print(a)
a.discard(444)#不会报错
print(a)
# pop()删除任意元素
a.pop()
print(a)#不能指定删除
# clear()
a.clear()
print(a)

判断集合元素关系
a={1,2,3,4,5,6}
b={1,2,3,4}
#元素是否相等,(元素相等,就相等)
print(a==b)
print(a!=b)
#是否是子集
print(a.issubset(b))#a是b的子集吗
print(b.issubset(a))
#是否是超集
print(b.issuperset(a))
print(a.issuperset(b))#a是否是b的超集
'''两个集合是否含有交集'''
print(a.isdisjoint(b))
c={1,2,3,4,5,6,7,8}
print(a.isdisjoint(c))#有交集为false
#集合的数据操作
'''交集操作'''
d={1,2,3,4,5,6}
f={1,2,3,4,7}
1
print(d.intersection(f))
2
print(d & f)
'''并集'''
print(d.union(f))
print(d| f)
'''差集'''
print(d.difference(f))
'''对称差集'''
print(d.symmetric_difference(f))
print(d^ f)
#集合生成式
s={i*i for i in range(10)}
print(s)
#列表生成式
m=[i*i for i in range(6)]
print(m)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我不吃牛肉!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值