• python 集合


    # 集合
    """
    集合(set)是一个无序的不重复元素序列。
    使用大括号 { } 或者 set() 函数创建集合
    创建一个空集合必须用 set()
    """
    # 创建集合
    sets = {'value1', 'value2', 'value3'}
    print(sets)
    # 创建集合set()
    set_hs = set('123456')
    print(set_hs)  # 返回 {'5', '4', '6', '1', '3', '2'}
    # 创建空集合
    set_kong = set()
    print(type(set_kong))  # 返回set() 类型是set
    
    # 集合创建去除重复值 重复元素会去除
    mylike = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
    print(mylike)  # 返回 {'orange', 'banana', 'apple', 'pear'}
    
    # in 判断元素是否在集合内
    if 'apple' in mylike:
        print("存在")
    else:
        print("NO")
    
    # 集合操作
    # set.add(x) 将元素x添加到集合中,如果元素已存在,则不进行任何操作
    mylike.add('西红柿')
    mylike.add('orange')
    print(mylike)
    
    # set.update(x) 将多个元素x添加到集合中,多个,用逗号分开,参数可以是列表,元组,字典等
    # 修改当前集合,可以添加新的元素或集合到当前集合中,如果添加的元素在集合中已存在,则该元素只会出现一次,重复的会忽略。
    mylike.update("苹果")
    print(mylike)  # 返回 {'pear', 'apple', 'banana', '果', 'orange', '苹', '西红柿'}
    mylike.update({'name': 'qaz'})
    print(mylike)
    mylike.update([1, 5], [5, 9])
    print(mylike)
    
    # set.remove(x) 移除集合中存在的的元素,不存在报错
    mylike.remove('apple')
    print(mylike)
    
    # set.discard(x) 移除集合中的元素,且如果元素不存在,不会发生错误
    mylike.discard('eeeee')
    print(mylike)
    
    # set.pop() 随机删除集合中的一个元素
    #  pop 方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除
    mylike.pop()
    print(mylike)
    
    # len() 计算集合元素个数
    print(len(mylike))
    
    # set.clear() 清空集合
    mylike.clear()
    print(mylike)
    
    # x in set 判断元素是否在集合中存在
    
    # set.copy() 拷贝一个集合
    mylike2 = mylike.copy()
    print(mylike2)
    
    # set.difference(set) 返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合(方法的参数)中
    set1 = {"app", "ban", "che"}
    set2 = {"goo", "micr", "app"}
    set3 = set1.difference(set2)
    print(set3)
    
    # set.difference_update(set) 移除两个集合中都存在的元素  直接在原来的集合中移除元素,没有返回值。
    set1.difference_update(set2)
    print(set1)
    
    # set.intersection(set1, set2 ... etc) 返回两个或更多集合中都包含的元素,即交集
    x = {"apple", "banana", "cherry"}
    y = {"google", "runoob", "apple"}
    z = x.intersection(y)
    print(z)
    
    # set.intersection_update(set1, set2 ... etc)  获取两个或更多集合中都重叠的元素,即计算交集  在原始的集合上移除不重叠的元素。
    x.intersection_update(y)
    print(x)
    
    # set.isdisjoint(set)  判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
    z = x.isdisjoint(y)
    print(z)
    
    # set.issubset(set) 用于判断集合的所有元素是否都包含在指定集合中,如果是则返回 True,否则返回 False
    # 判断集合 x 的所有元素是否都包含在集合 y 中:
    x = {"a", "b", "c"}
    y = {"f", "e", "d", "c", "b", "a"}
    z = x.issubset(y)
    print(z)
    
    # set.issuperset(set)  用于判断指定集合的所有元素是否都包含在原始的集合中,如果是则返回 True,否则返回 False。
    # 判断集合 y 的所有元素是否都包含在集合 x 中:
    x = {"f", "e", "d", "c", "b", "a"}
    y = {"a", "b", "c"}
    z = x.issuperset(y)
    print(z)
    
    # set.symmetric_difference(set) 返回两个集合中不重复的元素集合,即会移除两个集合中都存在的元素。
    x = {"apple", "banana", "cherry"}
    y = {"google", "runoob", "apple"}
    z = x.symmetric_difference(y)
    print(z)
    
    # set.symmetric_difference_update(set) 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中
    x = {"apple", "banana", "cherry"}
    y = {"google", "runoob", "apple"}
    x.symmetric_difference_update(y)
    print(x)
    
    # set.union(set1, set2...) 返回两个集合的并集,即包含了所有集合的元素,重复的元素只会出现一次。
    x = {"apple", "banana", "cherry"}
    y = {"google", "runoob", "apple"}
    z = x.union(y)
    print(z)
  • 相关阅读:
    Java 序列化和反序列化(三)Serializable 源码分析
    Java 序列化和反序列化(二)Serializable 源码分析
    Java 序列化和反序列化(一)Serializable 使用场景
    JUC源码分析-其它工具类(一)ThreadLocalRandom
    JUC源码分析-线程池篇(三)ScheduledThreadPoolExecutor
    JUC源码分析-线程池篇(二)FutureTask
    JUC源码分析-线程池篇(三)Timer
    JUC源码分析-线程池篇(一):ThreadPoolExecutor
    JUC源码分析-集合篇:并发类容器介绍
    JUC源码分析-集合篇(十)LinkedTransferQueue
  • 原文地址:https://www.cnblogs.com/ddf128/p/12005400.html
Copyright © 2020-2023  润新知