set集合概念:

集合是多个元素的无序(没有下标)组合

集合类型与数学中的集合概念一致

集合元素之间无序,每个元素唯一,不存在相同元素

集合元素不可更改,不能是可变数据类型    

为什么? 无序唯一

数据重复,会自动去重

例如:

创建
集合用大括号 {} 表示,元素间用逗号分隔
建立集合类型用 {} 或 set()
建立空集合类型,必须使用set()
#创建
set01 = {1,2,3,4,5}
set02 = set() #set()
set03 = set({9,10,11})
print(set01)
print(set02) 
print(set03)

"""
空列表 []
空元组 ()
空字典 {}
空集合 set()
  原因是字典的创建也是{},两者冲突了
   所以我们的空集合是set(),创建空集合的时候必须使用set()
"""

print(type({})) #<class 'dict'>
print(type(set())) #<class 'set'>

set集合的增

python set集合的值怎么取 python定义set集合_开发语言

例如:

 

#创建
set01 = {"花木兰","貂蝉","妲己","王昭君"}

"""
  set.add(数据) 添加一个数据  也能添加已有的数据,
虽然不报错,但是不显示
"""

set01.add("杨玉环")
print(set01) #{'花木兰', '王昭君', '貂蝉', '妲己', '杨玉环'}
set01.add("花木兰")
print(set01) #{'花木兰', '杨玉环', '王昭君', '妲己', '貂蝉'}

"""
 set01.update(set02) 批量添加数据
   把set02添加到zet01中
"""

set02 = {"嬴政","武则天"}
set01.update(set02)
print(set01) #{'花木兰', '嬴政', '杨玉环', '妲己', '王昭君', '武则天', '貂蝉'}

set集合的删

python set集合的值怎么取 python定义set集合_开发语言_02

 例如:

#创建
set01 = {"喜羊羊","美羊羊","懒洋洋","沸羊羊","暖羊羊","慢羊羊","灰太狼"}

"""
  set.discard(值)  删除集合中的值 
    如果数据不存在,不报错
""" 

set01.discard("美羊羊")
print(set01) #{'慢羊羊', '喜羊羊', '灰太狼', '暖羊羊', '懒洋洋', '沸羊羊'}
set01.discard("小灰灰")
print(set01)

"""
 set.remove(值) 删除集合中的值 
   KeyError: '小灰灰'
   如果没有这个值,会报错
"""

set01.remove("慢羊羊")
print(set01) #{'懒洋洋', '灰太狼', '沸羊羊', '喜羊羊', '暖羊羊'}
#set01.remove("小灰灰")
#print(set01)

"""
 set.pop() 随机删除
"""

set01.pop()   #{'懒洋洋', '沸羊羊', '喜羊羊', '暖羊羊'}
              #{'灰太狼', '喜羊羊', '沸羊羊', '暖羊羊'}
print(set01)

# set.clear() 清空

set集合的改

 set集合 不可以更改数据

集合元素不可更改,不能是可变数据类型    

为什么? 无序唯一

set集合的查

直接打印 集合名字 去查询 

不能使用索引进行查询,因为我们的集合是无序的

集合常用函数和方法

python set集合的值怎么取 python定义set集合_python set集合的值怎么取_03

 例如:

#创建
set01 = {"喜羊羊","美羊羊","懒洋洋","沸羊羊","暖羊羊","慢羊羊","灰太狼"}

#set.copy() 复制/拷贝一个一模一样的集合
set02 = set01.copy()
print(set02) #{'慢羊羊', '美羊羊', '灰太狼', '喜羊羊', '沸羊羊', '暖羊羊', '懒洋洋'}

#len(set) 返回集合的元素个数,集合的长度
a = len(set01)
print(a) #7

"""
 x in set 元素x在不在集合当中
 x not in set 元素不在集合中
"""

print("慢羊羊" in set01) #True
print("慢羊羊" not in set01) #False

#set(x) 把其他数据类型(x)转换成集合类型 
Str = "hello"
print(Str) #hello
print(type(Str))

b = set(Str)
print(type(b)) #<class 'set'>
print(b) #{'o', 'e', 'h', 'l'}

set集合拓展

python set集合的值怎么取 python定义set集合_python set集合的值怎么取_04

并 

1.它的符号是 |

2.返回两个集合的所有值

1.差的符号是 -

2.set01 - set02    set01去掉公共部分的值

1.交的符号 &

2.两个的公共部分

 补

补集

1.补的符号是 ^

2.并集-交集 = 补集

3.除去公共部分,set01和set02的单独部分我都要

 包含关系

判断set01 和 set02是不是包含关系

 >  <   >=  <=

 口朝向那边,那边是大的

  set01 >= set02   set01包含set02

增强符

python set集合的值怎么取 python定义set集合_开发语言_05