0
点赞
收藏
分享

微信扫一扫

python基础(part9)--容器类型之集合


文章目录

  • ​​集合set​​
  • ​​定义​​
  • ​​基本操作​​
  • ​​创建空集合和有默认值的集合​​
  • ​​添加及删除​​
  • ​​其他容器和集合的相互转换​​
  • ​​获取所有元素​​
  • ​​运算​​
  • ​​举个例子​​
  • ​​集合推导式​​

集合set

定义

由一系列不重复的不可变类型变量组成的可变映射容器。相当于只有键没有值的字典

基本操作

基本操作

方式

创建空集合

set()

创建具有默认值的集合

①{1, 2, 3} ②set(可迭代对象)

添加元素

add

删除元素

remove

创建空集合和有默认值的集合

代码:

#创建空集合
s01 = set()
print(s01)
print("--------------")

#创建有默认值的集合
s01 = {1, 2, 3, 4}
s02 = set("abcde")
print(s01)
print(s02)

结果:
python基础(part9)--容器类型之集合_python

添加及删除

代码:

s02 = set("abcde")

#添加
s02.add("A")
s02.add("B")
print(s02)
print("--------------")

#删除
s02.remove("d")
#若该元素不存在,则会报错
print(s02)

结果:
python基础(part9)--容器类型之集合_python_02

其他容器和集合的相互转换

代码:

#其他容器 --> 集合
s01 = set([1,3,5,7,9])

#集合 --> 其他容器
l01 = list(s01)
t01 = tuple(s01)
print(s01)
print(l01)
print(t01)

结果:
python基础(part9)--容器类型之集合_python_03

获取所有元素

代码:

s02 = set("abcde")

for item in s02:
print(item)

结果:
python基础(part9)--容器类型之集合_默认值_04

运算

符号

运算

&

交集

|

并集

-

补集

^

对称补集

<

子集

>

超级

举个例子

代码:

s01 = {2, 3, 4, 5}
s02 = {4, 5, 6, 7}

#交集
s03 = s01 & s02 # {4, 5}
print(s03)

#并集
s04 = s01 | s02 # {2, 3, 4, 5, 6, 7}
print(s04)

#补集
s05 = s01 ^ s02 # {2, 3, 6, 7}
print(s05)

s06 = s01 - s02 # {2, 3}
print(s06)
s07 = s02 - s01 # {6, 7}
print(s07)

#子集和超集
sA = {1, 2, 3}
sB = {1, 2}
re01 = sA < sB #False 说明sA不是sB的子集
re02 = sA > sB #True 说明sA是sB的超集
print(re01)
print(re02)


#相同和不同
s_1 = {1, 2, 3}
s_2 = {1, 2, 3}
re = s_1==s_2 #True 说明s_1与s_2相同
print(re)

结果:
python基础(part9)--容器类型之集合_集合_05

集合推导式

  • 定义
    使用简易方法,将可迭代对象转换为集合。
  • 语法
{表达式 for 变量 in 可迭代对象}
{表达式 for 变量 in 可迭代对象 if 条件}
  • 例子

代码:

s01 = {item**2 for item in range(1, 9) if item % 2 == 0}
print(s01)

结果:
python基础(part9)--容器类型之集合_基本操作_06

举报

相关推荐

0 条评论