Python(集合)

目录

一、集合格式及特点

二、定义集合

三、集合转换

 四、使用方法


一、集合格式及特点

  1. 格式:{元素1,元素2,元素3,......}
  2. 特点:无序不重复,所以不能用下标访问,可以转换后再访问。

二、定义集合

  • 空集合

  注意:不能用 set_data = {}定义空集合,这种形式定义出来的类型是字典。

  • 集合

三、集合转换

  • iterable转换为集合
str_data = "1212"  
tuple_data = (1, 2, 1, 2)
list_data = [1, 2, 1, 2]
dict_data = {1: 2, 2: 3}
set_data1 = set(str_data)
print(set_data1)
set_data2 = set(tuple_data)
print(set_data2)
set_data3 = set(list_data)
print(set_data3)
set_data4 = set(dict_data)
print(set_data4)

  •  集合转换为iterable
    set_data = {1, 2, 3, 3}
    list_data = list(set_data)
    print(list_data)
    print(list_data[0])

 四、使用方法

  • add(element):添加元素。
    set_data = {1, 2, 3}
    set_data.add(5)
    print(set_data)

  • clear():清除所有元素。

    set_data = {1, 2, 3}
    set_data.clear()
    print(set_data)

  • difference(s):比较不同部分。(有返回值)

    set_data1 = {1, 2, 3}
    set_data2 = {2, 3, 4}
    print(set_data1.difference(set_data2))
    print(set_data2.difference(set_data1))

      注意:返回一个新的集合,这个集合是由两个或多个集合的不同部分组成,并且返回的是调用者的不同部分。

  • copy():拷贝

    set_data = {1, 2, 3}
    print(set_data)
    set_data.copy()
    print(set_data)

  • difference_update(s):用于移除两个集合中都存在的元素。(没有返回值)

    set_data = {1, 2, 3}  
    set_data1 = {2, 3, 4}
    set_data.difference_update(set_data1)
    print(set_data)

  • discard(element):删除元素

    set_data = {1, 2, 3}  
    set_data.discard(2)
    print(set_data)

    (如果元素不存在,则什么也不做) 

  •  intersection(s):取两个集合的交集。(产生一个新集合)

    set_data1 = {1, 2, 3}  
    set_data2 = {2, 3, 4, 5}
    print(set_data1.intersection(set_data2))

  •  intersection_updata(s):取两个集合的交集。(没有返回值)

    set_data1 = {1, 2, 3}  
    set_data2 = {2, 3, 4, 5}
    set_data2.intersection_update(set_data1)
    print(set_data2)

  • isdisjoint(s):判断两个集合是否有交集。

    set_data1 = {1, 2, 3}  
    set_data2 = {4, 5}
    print(set_data1.isdisjoint(set_data2))

     有交集返回true,没有交集返回false。

  • issubset(s):判断另一个集合是否包含当前的集合。

    set_data1 = {1, 2, 3} 
    set_data2 = {1, 2, 3, 4}
    print(set_data1.issubset(set_data2))

     包含则返回true,不包含则返回false。

  • issuperset(s):判断当前集合是否包含另一个集合。

    set_data1 = {1, 2, 3}
    set_data2 = {2, 3}
    print(set_data1.issuperset(set_data2))

    包含则返回true,不包含则返回false。

  • pop():随机移除一个元素。

    set_data1 = {1, 2, 3}
    print(set_data1.pop())

     

1、如果集合的元素都是数字, 删除时, 删掉的是最小的数字, 其余数字升序排列

2、如果集合的元素是非数字, 删除时, 删掉的是随机的元素, 其余元素随机排列

3、如果集合里既有数字又有非数字元素, 删除时:

     若删掉的是数字, 则一定是删掉了最小的, 其他数字升序排列, 非数字元素随机排列;

     若删掉的非数字, 则一定是随机删掉了一个, 其他数字升序排列, 非数字则随机排列. 

  •  remove():删除元素。
    set_data1 = {1, 2, 3}
    set_data1.remove(2)
    print(set_data1)

    (如果删除的元素不在集合里,则会报错)

  •  union():返回两个集合的并集。

  • update(set):给集合添加元素。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值