集合

集合 - set

  • 一堆确定的无序的唯一的数据,集合中每一个数据成为一个元素

  • 举例:

      	s=set()
      	print(type(s))
      	print(s)
      	s={1,2,3,4,5,6}
      	print(type(s))
      	print(s)
      运行结果:<class 'set'>
      	set()
      	<class 'set'>
      	{1,2,3,4,5,6}
      	#如果只用大括号定义,则定义的是一个dict类型
      	d={}
      	print(type(d))
      	print(d)
      运行结果:<class 'dict'>
      	{}
    

集合的特征

  1. 集合内数据无序,即无法使用索引和分片
  2. 集合内部数据元素具有唯一性,可以用来排除重复数据
  3. 集合内的数据,str,int,float,tuple,冰冻集合等,即内部只能放置可以哈希数据

集合遍历操作

  • for循环

  • 举例:

      	s={4,5,"i","love","you"}
      	for i in s:
      		print(i,end=" ")
      运行结果:i 4 5 you love
    
  • 带有元组的遍历

  • 举例:
    s={(1,2,3)(“i”,“love”,“you”),(4,5,6),}
    for k,m,n in s:
    print(k,"–",m,"–"n)
    for k in s:
    print(k)
    运行结果:4–5--6
    i–love-you
    1–2--3
    (4,5,6)
    (“i”,“love”,“you”)
    (1,2,3)

集合的函数

  • 普通集合函数

  • 以下集合在初始化后自动过滤掉重复元素

  • 举例:

      	s={23,224,545,3,1,2,3,4,3,2,1,2,4,3}
      	print(s)
      运行结果:{545,1,3,2,4,23,223}
      	ss={i for i in s}
      	print(ss)
      运行结果:{545,2,3,4,1,23,223}
      	#带有条件的集合函数
      	sss={i for i in s if i%2==0}
      	print(sss)
      运行结果:{2,4}
      	#多循环的集合函数
      	s1={1,2,3,4}
      	s2={"i","love","you"}
      	s={m*n for m in s2 for n in s1 if n == 2}
      	print(s)
      运行结果:{'lovelove','youyou','ii'}
    

集合函数/关于集合的函数

  • len, max, min:跟其他基本函数一致

      	s = {43,23,56,223,4,2,1222,4,323,1}
      	print(len(s))
      	print( max(s))
      	print(min(s))
      运行结果:
      	9
      	1222
      	1
    
  • set:生成一个集合

      	l = [1,2,3,4,3,23,1,2,3,4]
      	s = set(l)
      	print(s)
      运行结果:{1, 2, 3, 4, 23}
    
  • add:向集合内添加元素

      	s = {1}
      	s.add(334)
      	print(s)	
      运行结果:{1, 334}
    
  • clear

      	s = {1,2,3,4,5}
      	print(id(s))
      	s.clear()
      	print(id(s))
      运行结果:140040159572936
      	140040159572936
      	# 结果表明clear函数是原地清空数据
    

copy:拷贝

remove:移除制定的值,直接改变原有值,如果要删除的值不存在,报错

discard:移除集合中指定的值,跟remvoe一样,但是入股要删除的话,不报错

pop 随机移除一个元素

		s = {1,2,3,4,5,6,7}
		d = s.pop()
		print(d)
		print(s)
	运行结果:1
		{2, 3, 4, 5, 6, 7}

集合函数

  • intersection: 交集

  • difference:差集

  • union: 并集

  • issubset: 检查一个集合是否为另一个子集

  • issuperset: 检查一个集合是否为另一个超集

      	s1 = {1,2,3,4,5,6}
      	s2 = {5,6,7,8,9}
      	s_1 = s1.intersection(s2)
      	print(s_1)
      	s_2 = s1.difference(s2)
      	print(s_2)
      	s_3 = s1.issubset(s2)
      	print(s_3)
      运行结果:{5, 6}
      	{1, 2, 3, 4}
      	False
    

集合额数学操作

		s1 = {1,2,3,4,5,6}
		s2 = {5,6,7,8,9}
		s_1 = s1 - s2
		print(s_1)
		s_2 = s1 + s2
		print(s_2)
	运行结果:{1, 2, 3, 4}

frozen set:冰冻集合

  • 并冻和就是不可以进行任何修改的集合
  • frozenset是一种特殊集合
    s = frozenset()
    print(type(s))
    print(s)
    运行结果:<class ‘frozenset’>
    frozenset()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值