python集合的定义

雨燕双飞 提交于 2020-02-01 04:10:15
1. 集合的定义

集合里面的元素是不可重复的

s = {1,2,3,1,2,3,4,5}
print(s)
print(type(s))
  • 1
  • 2
  • 3
如何定义一个空集合
# s2 = {}
# print(type(s2))
s3 = set([])
print(s3)
print(type(s3))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述
可以看到,集合有去重的作用

集合应用
li = [1,2,3,1,2,3]
print(list(set(li)))
  • 1
  • 2
  • 3

在这里插入图片描述

2. 集合的特性

集合只支持成员操作符号和for循环

s = {1,2,3}
# print(s[0])
# print(s * 3)
# print(s + {4,5,6})
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
可以看到,集合不支持索引
在这里插入图片描述
可以看到,集合不支持重复
在这里插入图片描述
可以看到,集合不支持连接

2.1 成员操作符
print(1 in s)
  • 1

在这里插入图片描述

2.2 for循环
for i in s:
    print(i)
  • 1
  • 2

在这里插入图片描述

3. 集合的常用方法
s = {6,7,8,9}   #定义一个集合
  • 1
3.1 增加一个元素

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

 s.add(1)  
 print(s)
 s.update({5,3,2})
 print(s)
  • 1
  • 2
  • 3
  • 4
  • 5

方法一:
在这里插入图片描述
方法二:
在这里插入图片描述

3.2 删除
s.pop()   #随机弹出一个元素
 print(s)
 s.remove(6)
 print(s)
  • 1
  • 2
  • 3
  • 4
  • 5

方法一:
在这里插入图片描述
方法二:
在这里插入图片描述

3.3 交集 并集 差集
s1 = {1,2,3}
s2 = {2,3,4}
  • 1
  • 2
并集
 print('并集:',s1.union(s2))
 print('并集:',s1 | s2)
  • 1
  • 2
  • 3

在这里插入图片描述

交集
 print('交集:',s1.intersection(s2))
 print('交集:',s1 & s2)
  • 1
  • 2
  • 3

在这里插入图片描述

差集
 print('差集:',s1.difference(s2))  #s1 - (s1 & s2)
 print('差集:',s2.difference(s1))
  • 1
  • 2
  • 3

在这里插入图片描述

s3 = {1,2}
s4 = {1,2,3}
print(s4.issuperset(s3))   #超集
print(s3.issubset(s4))    #子集 
print(s3.isdisjoint(s4))      #没有交集
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

查看s4是否是s3的超集
在这里插入图片描述
查看s3是否是s4的超集

在这里插入图片描述
查看s3和s4是否没有交集
在这里插入图片描述

4. 集合的示例

华为机测题:
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性
他先用计算机生成了N个1~1000之间的随机整数(N<=1000),N是用户输入的,
对于其中重复的数字,只保留一个,把其余相同的数字去掉,不同的数对应
着不同的学生的学号,然后再把这些
数从小到大排序,按照排好的顺序去找同学做调查,请你协助明明完成
“去重”与排序工作

import random
s = set([])
for i in range(int(input('N: '))):
    s.add(random.randint(1,1000))
print(sorted(s))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!