python中集合相关功能(代码)

本文详细介绍了Python集合的数据结构特点,包括不支持重复元素、无序、自动去重、可变性以及常用的操作方法如添加、移除、取差集、合并等。同时,文中还展示了如何使用集合进行元素的增删和遍历。
摘要由CSDN通过智能技术生成
"""
1、集合:
    列表---列表可修改、支持重复元素且有序
    元组、字符串----不可修改、支持重复元素且有序
    上面三者的局限性在于:它们都支持重复元素,如果场景需要去重处理,列表、元组、字符串就不方便了。
    而集合,最主要的特点就是不支持重复(自带去重功能),并且内容无序。
2、语法:
    {元素1,元素2,元素3,元素4,元素5,元素6}
    变量名称 = {元素1,元素2,元素3,元素4,元素5,元素6}
    空集合 : 变量名称 = set()
3、集合的常用操作:
    如下代码:
4、集合的特点:
(1)可以容纳多个数据
(2)可以容纳不同类型的数据(混装)
(3)数据是无序存储的(不支持下标索引)
(4)不允许重复数据存在
(5)可以修改(增加,删除等元素)
(6)支持for循环
"""


# 定义集合
set_01 = set()
set_02 = {1,1,1,1,1,1,1,11,2,2,2,2,2,3,3,3,3,4,4,45,2,5}
print(f"打印空集合:{set_01},打印其类型:{type(set_01)}")
print(f"打印集合:{set_02},打印其类型:{type(set_02)}")
# 结果:
# 打印空集合:set(),打印其类型:<class 'set'>
# 打印集合:{1, 2, 3, 4, 5, 11, 45},打印其类型:<class 'set'>
# ----------------->可见,集合有自动去重功能)


# 添加元素,使用【.add(元素)】方法进行元素的添加,当添加的元素与原集合中的元素重复的时候,相当于没有添加进去。
set_02 = {1,2,3,4,4,4,5}
set_02.add(1)
set_02.add('hello')
print(set_02)
# 结果:{'hello', 1, 2, 3, 4, 5}


# 移除元素,使用【.remove(元素)】来进行元素的删除,集合本身被修改。
set_02 = {1,2,3,4,4,4,5}
set_02.remove(4)
print(set_02)
# 结果{1, 2, 3, 5}

# 随机取出元素,从集合中随机取出元素,通过使用【.pop()】方法实现。
# 因为在列表中,pop是通过传入下标取出元素,,而在集合中没有下标,所以,在集合中pop没有参数
set_03 = {'hi','i','hello','chsid','cwhi'}
num  = set_03.pop()
print(f"随机取出的元素为:{num},取出元素后的集合为:{set_03},打印所取出元素的类型:{type(num)},打印剩余集合的类型:{type(set_03)}")


# 清空集合,通过使用方法【.clear()】来清空集合
set_03 = {'hi','i','hello','chsid','cwhi'}
set_03.clear()
print(type(set_03))


# 取出2个集合的差集,【集合1.difference(集合2)】
# 取出集合1 和集合2的差集(即集合1有而集合2没有的)
# 然后得到一个新的集合,集合1和集合2不变。
set_1 = {1,2,3,4,5}
set_2 = {3,4,5,6,7}
set_3 = set_1.difference(set_2)
print("集合1:",set_1)
print("集合2:",set_2)
print("集合3:",set_3)


# 消除2个集合的差集
# 语法: 【集合1.difference_update(集合2)】
# 功能: 对比集合1和集合2,在集合1内,删除和集合2相同的元素。
# 结果: 集合1被修改,集合2 不变
set_1 = {1,2,3,4,5}
set_2 = {3,4,5,6,7}
set_1.difference_update(set_2)
print("集合1:",set_1)
print("集合2:",set_2)
# 结果:
#     集合1: {1, 2}
#     集合2: {3, 4, 5, 6, 7}


# 2个集合合并
# 语法:【集合1.union(集合2)】
# 功能: 将集合1 和集合2组合成新集合
# 结果: 得到新集合,集合1 和集合2 不变
set_1 = {1,2,3,4,5}
set_2 = {3,4,5,6,7}
set_3 = set_1.union(set_2)
print("集合1:",set_1)
print("集合2:",set_2)
print("集合3:",set_3)
# 结果
# 集合1: {1, 2, 3, 4, 5}
# 集合2: {3, 4, 5, 6, 7}
# 集合3: {1, 2, 3, 4, 5, 6, 7}

# 统计集合中有多少元素(只统计不同的元素,相同的元素按单个计算)
set_00 = {1,1,1,1,1,1,1,11,2,2,2,2,2,3,3,3,3,4,4,45,2,5}
print(len(set_00))
# 结果:7

# 集合的遍历:
# 不支持while遍历,因为集合不支持没有下标,而while循环是通过下标进行遍历的。
# 使用for循环,遍历的是每个元素,相同元素只打印一次(集合具有去重复的功能)
for x in set_00:
    print(x)

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代替人格

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值