python:集合【全用法】

python中有列表、元组、集合、字典这四种可以存放多个数据元素的集合,他们在总体功能上都起着存放数据的作用,却都有着各自的特点。本片文章中我们会对集合的用法做详细说明。

演示环境:

python3.6
pycharm中的python3.6

集合(set):存储元素不重复、无序数据类型,只支持成员操作赋、for循环迭代、枚举。

无序的数据类型,添加顺序和在集合中的存储顺序不一样

!!不支持索引,重复,连接,切片

第一部分:

1.1定义:
##当集合内有重复元素时,输出集合会自动将重复元素去掉

s = {1,2,4,5}
print(type(s))

s1 = {}
print(type(s1))   ##空字典定义

s1 = set([])
print(type(s1))    ###空集合定义

在这里插入图片描述

1.2去重:

li = [1,2,3,1,1,2,3]
print(list(set(li)))    ###去重  ##将其转化为集合类型去重,然后再转为列表类型输出  

在这里插入图片描述
1.3成员操作符:

s = {6,7,8,9}

print(i in s)  ##返回False 

1.4迭代:

for i in s:
	print(i)  ##迭代输出其内容

1.5枚举: ###返回对应元素与其索引值

for i,v in enumerate(s):
	print('index: %s,value: %s' %(i,v))

在这里插入图片描述

1.6增、删:

s.add(1)   ###增加一个元素
s.update([5,2,3,6])  ###添加多个元素

s.pop()     ##删除最前面的元素【第一个】
s.remove()  ###指定删除某个元素

在这里插入图片描述

1.7两个集合之间的关系:

s1 = {1,2,3}
s2 = {2,3,4}

交集: s1.intersection(s2) ##s1与s2的交集

print('交集:',s1.intersection(s2))
print('交集:',s1 & s2)   

在这里插入图片描述

并集: s1.union(s2) ##s1与s2的并集

print('并集',s1.union(s2))
print('并集',s1 | s2)

在这里插入图片描述

差集:

print('差集',s1.difference(s2))   ###s1 - (s1&s2)
print('差集',s2.difference(s1))  ###s2 - (s1&s2)

在这里插入图片描述

超集:

s3 = {1,2}
s4 = {1,2,3}

####s4是s3的超集【包含s3的全部】 ###当两个集合相同时,互为超集

print(s3.issuperset(s4))   ###超集
print(s3.issubset(s4))     ###子集
print(s3.isdisjoint(s4))   ###两个集合不相交返回True

在这里插入图片描述


练习:随机生成1-1000的随机数,去重,排序。生成随机数的个数由输入指定。

s = set([])   #定义空集合
for i in range(int(input('N: '))):
	s.add(random.randint(1,1000))   #进行随机数生成  #集合自动去重
print(s)   #输出去重后的集合
print(sorted(s))   #输出排序后的集合

在这里插入图片描述
在这里插入图片描述

  • 51
    点赞
  • 269
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值