python基础—— 集合set

以你之姓@ 2024-04-18 23:47 128阅读 0赞

文章目录

  • 一、创建集合
    • 1.1、{} 创建集合
    • 1.2、 set() 函数来创建集合
      • set() 创建 空集合
      • set()来将序列和字典转换为集合
  • 二、集合常用函数
    • 2.1、in和not in来检查集合中的元素
    • 2.2、使用len()来获取集合中元素的数量
  • 三、集合的添加元素
    • 3.1、add() 向集合中添加元素
    • 3.2、update() 将一个集合中的元素添加到当前集合中
      • update()使用序列或字典作为参数,字典只会使用键
  • 四、集合的删除元素
    • 4.1、pop()随机删除,并返回删除的元素
    • 4.2、 remove()删除集合中的指定元素
    • 4.3、clear()清空集合
  • 五、集合的复制元素
    • 5.1、copy()对集合进行浅复制

一、创建集合

  1. - 集合和列表非常相似
  2. - 不同点:
  3. 1. 集合中只能存储不可变对象
  4. 2. 集合中存储的对象是无序(不是按照元素的插入顺序保存)
  5. 3. 集合中不能出现重复的元素(重复的元素会自动过滤掉)

1.1、{} 创建集合

  1. s = { 10,3,5,1,2,1,2,3,1,1,1,1} # <class 'set'>
  2. s = { [1,2,3],[4,6,7]}
  3. # TypeError: unhashable type: 'list'
  4. # 集合中只能存储不可变对象, list 是可变序列,无法存储

1.2、 set() 函数来创建集合

set() 创建 空集合

  1. s = set() # 空集合

set()来将序列和字典转换为集合

  1. s = set([1,2,3,4,5,1,1,2,3,4,5]) # 打印 {1, 2, 3, 4, 5}
  2. s = set('hello') # 打印 {'l', 'e', 'h', 'o'}
  3. s = set({ 'a':1,'b':2,'c':3}) # 打印 {'b', 'c', 'a'} 。 使用set()将字典转换为集合时,只会包含字典中的键

二、集合常用函数

  1. s = { 'a' , 'b' , 1 , 2 , 3 , 1}

2.1、in和not in来检查集合中的元素

  1. s = { 'a' , 'b' , 1 , 2 , 3 , 1}
  2. print('c' in s) # 打印 False

2.2、使用len()来获取集合中元素的数量

  1. s = { 'a' , 'b' , 1 , 2 , 3 , 1}
  2. print(s)
  3. print(len(s))

打印结果:

  1. {1, 2, 3, 'a', 'b'}
  2. 5

三、集合的添加元素

3.1、add() 向集合中添加元素

  1. s = { 'a' , 'b' , 1 , 2 , 3 , 1}
  2. s.add(10)
  3. s.add(30)

打印结果:

  1. {1, 2, 3, 10, 'a', 'b', 30}

3.2、update() 将一个集合中的元素添加到当前集合中

  1. s = { 'a' , 'b' , 1 , 2 , 3 , 1}
  2. s2 = set({ '888'})
  3. s.update(s2)

打印结果:

  1. {1, 2, 3, '888', 'b', 'a'}

update()使用序列或字典作为参数,字典只会使用键

示例1
向集合中添加 元组类型的数据,

  1. s = { 'a' , 'b' , 1 , 2 , 3 , 1}
  2. s.update((10,20,30,40,50))

打印结果:

  1. {'b', 1, 2, 'a', 3, 40, 10, 50, 20, 30}

示例2

向集合中添加 字典类型的数据:

  1. s = { 'a' , 'b' , 1 , 2 , 3 , 1}
  2. s.update({ 10:'ab',20:'bc',100:'cd',1000:'ef'})

打印结果:

  1. {1, 2, 3, 100, 1000, 10, 'a', 20, 'b'}

说明,字典的 被添加到的集合中, 字典的 没有被添加去。

四、集合的删除元素

4.1、pop()随机删除,并返回删除的元素

  1. s = { 'a' , 'b' , 1 , 2 , 3 , 1}
  2. print('删除前:',s)
  3. result = s.pop()
  4. print('删除后',s)
  5. print('返回值:',result)

打印结果:(多次运行,发现删除的值并不一样)

  1. 删除前: {1, 2, 3, 'b', 'a'}
  2. 删除后 {2, 3, 'b', 'a'}
  3. 返回值: 1

4.2、 remove()删除集合中的指定元素

  1. s = { 'a' , 'b' , 1 , 2 , 3 , 1}
  2. print('删除前:',s)
  3. s.remove(1)
  4. print('删除后:',s)

打印结果:

  1. 删除前: {'a', 1, 2, 3, 'b'}
  2. 删除后: {'a', 2, 3, 'b'}

如果删除的元素不存在时,则报

  1. KeyError: 100

4.3、clear()清空集合

  1. s.clear()

五、集合的复制元素

5.1、copy()对集合进行浅复制

  1. s = { 'a' , 'b' , 1 , 2 , 3 , 1}
  2. s1=s.copy()
  3. print('s=',s,' id=',id(s))
  4. print('s1=',s1,' id=',id(s1))

打印结果:

  1. s= {1, 2, 3, 'b', 'a'} id= 20498232
  2. s1= {1, 2, 3, 'a', 'b'} id= 20498352

发表评论

表情:
评论列表 (有 0 条评论,128人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Python笔记 集合基础 set

    Python笔记 集合基础 set > 集合(set)是不重复元素的无序合集,主要用来检测某个元素是否属于成员或者用来去重。支持交集、并集、差集、补集等这些数学操作。集合

    相关 Python基础教程:set集合的教程

    一、集合类型 集合是一组无序排列的可哈希的值(可哈希的值->不可变),集合成员可以做字典中的键。但集合本身是不可哈希的。 集合是无序没有索引,也没有像字典的key,所以集合

    相关 Python基础】之集合set()

    集合用\{\}包含元素,但是不能用\{\}初始化集合,因为用\{\}初始化一个变量,默认是字典,集合是一个不重复且无序的元素集 集合的常用功能: set():初始