python--集合set类型

简介:

***************   集合set类型   *****************

  1. 集合的定义
    set = {}
    set = {1,2,3}
    set = {1,2,3,1,2,3}
    set = {1,2,3,'hello'}
    set = {1,2,3,'hello',(1,2,3)}

    wKioL1lo1S7D_QN-AAD8J-5mSyk404.pngwKiom1lo1S_xGetaAACYAleREg0537.pngwKiom1lo1S-iDLt8AAEH3wf-czc787.png

    集合不重复:

    wKiom1lo1S6AYOogAAEkJE8apFs592.png

    列表转化为:wKioL1lo1TCTxWkqAADckbMoU0Y705.png

    示例:

    wKioL1lo1TCSp4EsAACthgLX3gk257.png

  2. set的应用场景
    集合是一个无序的,不重复的数据组合。
    集合可去除列表中重复的元素。

    集合有其他数据类型没有的属性,即关系测试,包含交集、差集、并集、是否为子集、是否为父集等方法。


    wKiom1lo1THChIr3AADlMthootM739.png

  3. 集合的关系测试操作

    wKioL1lsH4vxSTY5AAAfbfJrA7E267.png
    交集:  list_1.intersection(list_2)

    list_1.intersection_update(list_2)    --list_1等于交集

    wKioL1lsH43h2dqHAABg35BEQWE068.png


    并集: list_1.union(list_2)
    差集: list_1.difference(list_2)
            list_2.difference(list_1)

         list_1.difference_update(list_2)    --list_1更新为差集

    wKiom1lsH46jp7F6AACGPtoMrhQ447.png


    对等差分 list_1.symmetric_difference(list_2)

    wKiom1lsH4zBbEgDAAC99uuASDU090.png



    子集  list_1.issubset(list_2)        --list_1是list_2的子集
    父集  list_1.issuperset(list_2)      --list_1 是list_2的父集

    wKiom1lsH42xEK4-AABQgKRpN-A289.png


    有无交集 list_1.isdisjoint(list_2)    若无交集返回True,有交集返回False


    wKioL1lsH47xw1GrAACAGUCejk8028.png交集:  list_1 & list_2
    并集:  list_1 | list_2
    差集: list_1 - list_2
            list_2 - list_1
    对等差分  list_1 ^ list_2

wKiom1lsH4_zB_rDAACdd-l0siA033.png

4.集合的添加

s.add(1)
        在集合中添加一项
s.update([1,3,4])
        在集合中添加多项,跟的参数应该是可迭代类型

wKiom1lsH4-Dh37kAADjUGsRZNY567.png

5.集合的删除
s.remove(1)        1表示元素‘1’
        删除集合中指定的元素

s.pop()
        随机删除集合中的某个元素,并返回删除的元素

wKioL1lsH5DTEWczAACPYe0gJeY378.png

s.clear()
        清空集合的所有元素over!

del(list_1)       删除集合

wKioL1lsH5DjqNNwAAChQOrNdps193.png

6.集合的其他操作
len(s)
        显示集合set的长度

wKiom1lsH5HhtUxnAAAryVVusWc009.png


"1" in s
        检测某元素是否为集合s的成员,返回布尔值集合的其他操作
s.copy()
        集合的浅拷贝,此处不深入研究,后面会说

wKioL1lsH5GCqokaAABvJaTpefM804.png



本文转自cuijb0221 51CTO博客,原文链接:http://blog.51cto.com/cuijb/1947721

相关文章
|
7天前
|
安全 网络安全 文件存储
思科设备巡检命令Python脚本大集合
【10月更文挑战第18天】
30 1
思科设备巡检命令Python脚本大集合
|
8天前
|
存储 NoSQL 关系型数据库
Redis 集合(Set)
10月更文挑战第17天
21 5
|
9天前
|
算法 Java 数据处理
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。HashSet基于哈希表实现,提供高效的元素操作;TreeSet则通过红黑树实现元素的自然排序,适合需要有序访问的场景。本文通过示例代码详细介绍了两者的特性和应用场景。
29 6
|
9天前
|
存储 Java 数据处理
Java Set接口凭借其独特的“不重复”特性,在集合框架中占据重要地位
【10月更文挑战第16天】Java Set接口凭借其独特的“不重复”特性,在集合框架中占据重要地位。本文通过快速去重和高效查找两个案例,展示了Set如何简化数据处理流程,提升代码效率。使用HashSet可轻松实现数据去重,而contains方法则提供了快速查找的功能,彰显了Set在处理大量数据时的优势。
19 2
|
11天前
|
存储 算法 Java
Java Set因其“无重复”特性在集合框架中独树一帜
【10月更文挑战第14天】Java Set因其“无重复”特性在集合框架中独树一帜。本文深入解析Set接口及其主要实现类(如HashSet、TreeSet)如何通过特定的数据结构(哈希表、红黑树)确保元素唯一性,并提供最佳实践建议,包括选择合适的Set实现类和正确实现自定义对象的`hashCode()`与`equals()`方法。
22 3
|
9天前
|
存储 Java 数据处理
Set 是 Java 集合框架中的一个接口,不包含重复元素且不保证元素顺序。
【10月更文挑战第16天】Java Set:无序之美,不重复之魅!Set 是 Java 集合框架中的一个接口,不包含重复元素且不保证元素顺序。通过 hashCode() 和 equals() 方法实现唯一性,适用于需要唯一性约束的数据处理。示例代码展示了如何使用 HashSet 添加和遍历元素,体现了 Set 的高效性和简洁性。
17 4
|
11天前
|
存储 Java 数据处理
Set 是 Java 集合框架中的一个接口,不包含重复元素且不保证元素顺序。
Java Set:无序之美,不重复之魅!Set 是 Java 集合框架中的一个接口,不包含重复元素且不保证元素顺序。它通过 hashCode() 和 equals() 方法确保元素唯一性,适用于需要唯一性约束的数据处理。示例代码展示了如何使用 HashSet 实现这一特性。
15 5
|
9天前
|
Java 开发者
在Java集合世界中,Set以其独特的特性脱颖而出,专门应对重复元素
在Java集合世界中,Set以其独特的特性脱颖而出,专门应对重复元素。通过哈希表和红黑树两种模式,Set能够高效地识别并拒绝重复元素的入侵,确保集合的纯净。无论是HashSet还是TreeSet,都能在不同的场景下发挥出色的表现,成为开发者手中的利器。
21 2
|
11天前
|
Java
Java Set 是一个不包含重复元素的集合接口,确保每个元素在集合中都是唯一的
【10月更文挑战第14天】Java Set 是一个不包含重复元素的集合接口,确保每个元素在集合中都是唯一的。本文介绍了 Set 的独特特性和两个常用实现类:基于哈希表的 HashSet 和基于红黑树的 TreeSet。通过示例代码展示了它们如何高效地处理唯一性约束的数据。
29 3
|
11天前
|
存储 算法 Java
Java的Set集合以其严格的“不重复性”著称,使开发者既好奇又困惑
Java的Set集合以其严格的“不重复性”著称,使开发者既好奇又困惑。本文将探讨Set为何如此“挑剔”。Set接口不包含重复元素,适用于需要唯一性约束的场景。其内部通过哈希表或红黑树等数据结构和哈希算法、equals()方法来确保元素的唯一性。示例代码展示了Set如何自动过滤重复元素,体现了其高效性和便利性。
26 2