zoukankan      html  css  js  c++  java
  • Python--集合

    集合(set)是一个无序的不重复元素序列。

    可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

    创建格式:list_1 = {value01,value02,...} 或者 set(value)

    集合作用:集合能实现列表的去重功能,如下

    1 list_1 = [1,4,5,7,3,6,7,9]
    2 list_1 = set(list_1)
    3 
    4 print(list_1) 
    5 list_2 =set([2,6,0,66,22,8,4])
    6 print(list_1,list_2)

    集合运算:

     1 list_1 = [1,4,5,7,3,6,7,9]
     2 list_1 = set(list_1)
     3 list_2 =set([2,6,0,66,22,8,4])
     4 
     5 #交集
     6 print(list_1.intersection(list_2))
     7 print(list_1 & list_2)
     8 
     9 #并集
    10 print(list_1.union(list_2))
    11 print(list_2 | list_1)
    12 
    13 #差集 in list_1 but not in list_2
    14 print(list_1.difference(list_2))
    15 print(list_2.difference(list_1))
    16 print(list_1 - list_2) # in list 1 but not in list 2
    17 
    18 #子集
    19 list_3 = set([1,3,7,8])
    20 print(list_3.issubset(list_1)) #list_3为list_1的子集,即list_1包含list_3,是的话返回True,否则返回False
    21 print(list_1.issuperset(list_3)) #list_1为list_3的父集,即list_1包含list_3,是的话返回True,否则返回False
    22 
    23 
    24 #对称差集
    25 print(list_1.symmetric_difference(list_2)) #两个集合合并去掉交集的部分
    26 print(list_1 ^ list_2)

    集合增删改查:

     1 list_1 = {1, 2, 3}
     2 
     3 #向集合加元素
     4 list_1.add(999)
     5 #向集合一次性加多个元素
     6 list_1.update([888,777,555])
     7 print(list_1)
     8 
     9 #随机弹出集合中的一个元素并返回
    10 list_1.pop()
    11 print(list_1)
    12 #删除集合中的特定元素,如果集合中有,则删除,如果没有,返回keyerror
    13 list_1.remove(888)
    14 print(list_1)
    15 #删除集合中的特定元素,如果集合中有,则删除,如果没有,不做任何操作
    16 list_1.discard(99)
    17 print(list_1)
    18 
    19 #集合不支持索引取值,如果根据索引取值,则需将集合转为列表
    20 list1 = {1,2,3,5,4,6,7}
    21 list1_list = list(list1)
    22 print(list1_list[0])

    # 注意:集合的遍历不可以用range(len(set_name)),因为集合是无序的,不可以根据索引取值。

  • 相关阅读:
    ExtJs学习准备工作(二) firebug firefox插件的安装 全新时代
    Hibernate系统中调试SQL方式 全新时代
    Eclipse工程出现红叉导致无法编译的问题 全新时代
    javascript 取table中内容
    Asp.Net中清空所有textbox的几种方法
    SQL Server:使用系统存储过程实现的通用分页存储过程
    C# 检查网络是否连通
    sq分页原理
    SQL Server:日志备份和差异备份还原中的常见问题示例
    javascript:连接数据库
  • 原文地址:https://www.cnblogs.com/sunnytomorrow/p/12944714.html
Copyright © 2011-2022 走看看