set()

简介: 【10月更文挑战第10天】

在Python中,set 是一个内置的数据类型,它是一个无序的、不包含重复元素的集合。你可以使用 set 来存储唯一的元素,并且可以进行数学上的集合运算,比如并集、交集、差集等。

创建空集合

创建空集合时,有几种不同的方法,但是使用大括号 {} 是不推荐的,因为它可能会与字典的表示混淆。以下是创建空集合的推荐方法:

  1. 使用 set() 函数:

    my_set = set()
    
  2. 使用 {},但是为了明确表示这是一个空集合,可以添加一个 | 运算符,这在Python中用于指定集合的元素:

    my_set = {
         ()}
    
  3. 使用 copy 方法从另一个集合复制,如果你有一个非空集合的话:

    another_set = {
         1, 2, 3}
    my_set = set(another_set)  # 这会创建一个空集合,如果 another_set 是空的话
    

集合的基本操作

以下是一些集合的基本操作:

  1. 添加元素

    my_set = set()
    my_set.add(1)  # 添加一个元素
    my_set.add(2)  # 添加另一个元素
    
  2. 删除元素

    my_set.remove(1)  # 删除元素1,如果元素不存在会报错
    my_set.discard(2) # 删除元素2,如果元素不存在不会报错
    
  3. 清空集合

    my_set.clear()  # 清空集合
    
  4. 集合运算

    • 并集:
      set_a = {
             1, 2, 3}
      set_b = {
             3, 4, 5}
      union_set = set_a | set_b  # 或者使用 set_a.union(set_b)
      
    • 交集:
      intersection_set = set_a & set_b  # 或者使用 set_a.intersection(set_b)
      
    • 差集:
      difference_set = set_a - set_b  # 元素在 set_a 中,但不在 set_b 中
      
    • 对称差集(两个集合中不重叠的部分):
      symmetric_difference_set = set_a ^ set_b  # 或者使用 set_a.symmetric_difference(set_b)
      
  5. 测试成员资格

    contains_2 = 2 in my_set  # 如果2在集合中则为True
    
  6. 转换为列表或元组

    list_set = list(my_set)
    tuple_set = tuple(my_set)
    
  7. 集合的迭代

    for element in my_set:
        print(element)
    
目录
相关文章
|
6月前
|
存储 C++ 容器
【C++】Map和Set -- 详解(下)
【C++】Map和Set -- 详解(下)
|
6月前
|
存储 自然语言处理 C++
【C++】Map和Set -- 详解(上)
【C++】Map和Set -- 详解(上)
|
6月前
|
JSON 数据格式 Python
set
set
26 4
|
11月前
|
存储 算法 Java
Set详解
Set详解
130 0
|
测试技术
AcDbHatch::setPatternAngle
AcDbHatch::setPatternAngle
|
存储 自然语言处理 C++
map && set
map和set是C++98就已经支持的两个搜索效率极高的容器,其底层就是使用和红黑树作为存储容器,我们已经实现了红黑树,接下来我们熟悉一下map和set的使用,并了解其封装结构,我们自己使用红黑树封装一个。
new Set与...new Set()的区别
new Set与...new Set()的区别,妙用多多
191 0
|
存储 自然语言处理 C++
【C++】map和set的使用(上)
【C++】map和set的使用(上)
【C++】map和set的使用(上)
GET SET
方法定义
79 0
GET SET