• Python之路 day2 集合的基本操作


     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*- 
     3 #Author:ersa
     4 '''
     5 #集合是无序的
     6 集合的关系测试,
     7 增加,删除,查找等操作
     8 '''
     9 #列表去重 ==》转集合自动去重
    10 list_1 = [1,3,5,7,9,11,2,4]
    11 list_2 = [2,4,6,8,10]
    12 
    13 print(list_1,list_2)
    14 
    15 #列表转集合
    16 list_1 = set(list_1)
    17 list_2 = set(list_2)
    18 
    19 print("关系测试".center(70,'='))
    20 #两个集合的交集
    21 print( list_1.intersection(list_2) )
    22 
    23 #并集
    24 print( list_1.union(list_2) )
    25 
    26 #差集==》我有你没有
    27 print(list_1.difference(list_2))
    28 
    29 #子集
    30 list_3 = set([1,3,5])
    31 print(list_3.issubset(list_1))
    32 print(list_1.issuperset(list_3))
    33 
    34 #对称差集==》两个集合中都没有
    35 print(list_1.symmetric_difference(list_2))
    36 
    37 #没有交集则返回true
    38 list_4 = set([2,4,6])
    39 print(list_3.isdisjoint(list_4))
    40 
    41 print("关系运算符".center(70,'='))
    42 #交集 &
    43 print("%s & %s 交集:
    "%(list_1,list_3),list_1 & list_3)
    44 #并集 |
    45 print("%s | %s 并集:
    "%(list_1,list_2),list_1 | list_2)
    46 
    47 #差集 在 list_1 中不在 list_2中
    48 print("%s - %s 差集:
    "%(list_1,list_2),list_1 - list_2)
    49 
    50 #对称差集 在 list_1 或 list_2中,但不会同时出现在二者中
    51 print("%s ^ %s 对称差集:
    "%(list_1,list_2),list_1 ^ list_2)
    52 
    53 print("集合的基本操作 增、删、改、查".center(70,'='))
    54 
    55 #增加1个
    56 list_1.add(999)
    57 print("%s 增 add: 
    "%(list_1),list_1)
    58 
    59 #增加多个 update
    60 list_1.update([19,29,39])
    61 print("%s 增加多个 update 
    "%(list_1),list_1)
    62 
    63 #删除 remove
    64 list_1.remove(999)
    65 print("%s 删除 remove 
    "%(list_1),list_1)
    66 
    67 #remove 删除不存在的会报错,discard 不会报错
    68 print("%s 删除 discard 
    "%(list_1),list_1.discard('ddd'))
    69 list_1.discard(11)
    70 print("%s 删除 discard 
    "%(list_1))
    71 
    72 #集合的长度
    73 print("%s 长度 
    "%(list_1),len(list_1))
    74 
    75 #是否是集合的成员
    76 print("%s 是否在 集合中 
    "%(list_1),999 in list_1)
    77 
    78 #是否不是集合的成员
    79 print("%s 不在 集合中 
    "%(list_1),999 not in list_1)
    80 
    81 #删除第一个
    82 print("%s 删除第一个 
    "%(list_1),list_1.pop())
    83 print(list_1)
  • 相关阅读:
    [转]C++中cin、cin.get()、cin.getline()、getline()函数的简单总结
    Assert 的用法
    [转]C/C++作用域详解
    C++ 的getline问题
    字符数组的定义与赋值
    [转] 字符数组的赋值
    [转]标准C++中的string类的用法总结
    [转]memmove、memcpy和memccpy
    关于变长数组的一点小想法-C语言定义数组但是数组长度不确定怎么办
    Java动态代理演变之路
  • 原文地址:https://www.cnblogs.com/iersa/p/6215969.html
Copyright © 2020-2023  润新知