Python_数据容器_集合set

一、集合set的定义

考虑使用集合的场景,通过已经学习的列表、元组、字符串三个数据容器特性来分析:

  • 列表可以修改、支持重复元素且有序

  • 元组、字符串、不可修改、支持重复元素且有序

局限就在于:它们支持重复元素

集合定义语法:

二、集合的特点

集合-->不支持重复元素(自带去重功能)且无序

三、集合的操作

集合的常用操作 -- 修改

由于集合无序,因此不支持:下标索引访问 也因此集合不是序列

但是集合和列表一样是支持修改的

1、添加新元素 add()

语法:集合.add(元素)  将指定元素添加到集合内

结果:集合本身被修改添加了新元素

2、移除元素 remove()

语法:集合.remove(元素)  将指定元素从集合内移除

结果:集合本身被修改移除了元素

3、从集合中随机取出元素 pop()

语法:集合.pop(元素) 

结果:得到一个元素的结果。同时集合本身被修改,元素被移除

4、取两个结果的差集 difference()

语法:集合1.difference(集合2)   即就是取出集合1有而集合2没有的

结果:得到一个新集合,集合1和集合2不变。

5、消除2个集合差集  difference_update()

语法:集合1.difference_update(集合2)

功能:对比集合1和集合2,在集合1内,删除和集合2相同的元素。

结果:集合1被修改,集合2不变

6、两集合合并

语法:集合1.union(集合2)

功能:将集合1和集合2组成新集合。

结果:得到新集合 集合、集合2不变 

代码实操:

"""

演示数据容器集合的使用

"""

# 定义集合 不重复、无序

my_set = {"春天的熊","joker","blame",True,21,'blame'}

my_set_empty = set()   # 定义空集合

print(f"my_set的内容:{my_set},类型是:{type(my_set)}")

print(f"my_set_empty的内容:{my_set_empty},类型是:{type(my_set_empty)}")

# 添加新元素 add()

my_set.add('jizz')

my_set.add('joker') # 重复的不会添加

print(f"添加元素后结果:{my_set}")

# 移除元素 remove()

my_set.remove(True)

print(f"移除元素后结果:{my_set}")

# 随机取出一个元素 pop()

my_set = {"春天的熊","joker","blame",21}

element = my_set.pop()

print(f"随机取出的元素是:{element},取出后集合结果为{my_set}")

# 情空集合 clear()

my_set.clear()

print(f"集合被清空了,结果是{my_set}")

# 取两个集合的差集 集合1.difference(集合2) --取出集合1有而集合2没有的元素

set1 = {1,2,3}

set2 = {1,5,6}

set3 = set1.difference(set2)

print(f"set1={set1},set2={set2},取出差集后的结果:{set3}")

# 消除2个集合差集 difference_update()

set1 = {1,2,3}

set2 = {1,5,6}

set1.difference_update(set2)

print(f"消除差集后:set1={set1},set2={set2}")

# 2个集合合并为一个 union()

set1 = {1,2,3}

set2 = {1,5,6}

set3 = set1.union(set2)

print(f"set1={set1},set2={set2},合并后集后的结果:{set3}")

# 统计集合元素数量 len()

set1 = {1,2,3,'fu*k'}

num = len(set1)

print(f"{set1}中元素数量为:{num}")

集合的遍历:集合不支持下标索引,不能用while循环。可以用for循环

#集合的遍历 集合不支持下标索引,不能用while循环。可以用for循环

set1 = {1,2,3,'fu*k'}

for element in set1:

    print(f"{set1}中的元素:{element}")

集合练习:

# 有如下列表对象:

my_list = ['春天的熊','joker','bear','coding','python','sHSb','sHSb']

# 定义一个空集合

my_set = set()

# 通过for循环遍历列表

for element in my_list:

    my_set.add(element)

print(f"去重后集合对象:{my_set}")

# 在for循环中将列表中的元素添加至集合

# 最终得到去重后的集合额对象 打印输出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值