1. 集合的定义

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

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

Python定义一个空集合怎么将元素加进去 python如何定义空集合_操作符


可以看到,集合有去重的作用

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

Python定义一个空集合怎么将元素加进去 python如何定义空集合_并集_02

2. 集合的特性

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

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

Python定义一个空集合怎么将元素加进去 python如何定义空集合_并集_03


可以看到,集合不支持索引

Python定义一个空集合怎么将元素加进去 python如何定义空集合_操作符_04


可以看到,集合不支持重复

Python定义一个空集合怎么将元素加进去 python如何定义空集合_操作符_05


可以看到,集合不支持连接

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

Python定义一个空集合怎么将元素加进去 python如何定义空集合_操作符_06

2.2 for循环
for i in s:
    print(i)

Python定义一个空集合怎么将元素加进去 python如何定义空集合_并集_07

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

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

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

方法一:

Python定义一个空集合怎么将元素加进去 python如何定义空集合_操作符_08


方法二:

Python定义一个空集合怎么将元素加进去 python如何定义空集合_操作符_09

3.2 删除
s.pop()   #随机弹出一个元素
 print(s)
 s.remove(6)
 print(s)

方法一:

Python定义一个空集合怎么将元素加进去 python如何定义空集合_for循环_10


方法二:

Python定义一个空集合怎么将元素加进去 python如何定义空集合_操作符_11

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

Python定义一个空集合怎么将元素加进去 python如何定义空集合_并集_12

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

Python定义一个空集合怎么将元素加进去 python如何定义空集合_操作符_13

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

Python定义一个空集合怎么将元素加进去 python如何定义空集合_for循环_14

s3 = {1,2}
s4 = {1,2,3}
print(s4.issuperset(s3))   #超集
print(s3.issubset(s4))    #子集 
print(s3.isdisjoint(s4))      #没有交集

查看s4是否是s3的超集

Python定义一个空集合怎么将元素加进去 python如何定义空集合_for循环_15


查看s3是否是s4的超集

Python定义一个空集合怎么将元素加进去 python如何定义空集合_并集_16


查看s3和s4是否没有交集

Python定义一个空集合怎么将元素加进去 python如何定义空集合_操作符_17

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))

Python定义一个空集合怎么将元素加进去 python如何定义空集合_for循环_18