python的集合

集合,存放不可变类型,无序,不可重复

可变类型报错


#! /usr/bin/env python

# -*- coding:utf-8 -*-


s = {1,2,3,4,[12,32,"dsa"]}

s = {1,234,43}

print(s)

#随机添加

s = {1,23,6,7}

s.add(44)

print(s)

#清空

s = {1,23,6,7}

s.clear()

print(s)

#复制

s = {1,23,6,7}

s1 = s.copy()

print(s1)

#删除

s = {1,23,6,7}

#随机删除

s.pop()

#指定删除

s.remove(23)

s.remove('sb')#指定删除一个不存在元素,会报错

s.discard('sb')#指定删除一个不存在元素,不会报错

print(s)

p = {

'python',

    'linux',

    'kali',

    'php'

}

l = {

'python',

    'linux',

    'centos'

}

###交集

print(p.intersection(l))#求两个集合中相同的元素

print(p&l)

###并集

print(p.union(l))#求两个集合中不相同的元素

print(p|l)

###差集

print(p.difference(l))#求p集合中减去l集合中相同的元素得到p集合中剩下的元素

print(p-l)

print(l-p)#求l集合中减去p集合中相同的元素得到l集合中剩下的元素

p = [1,2,3,4]

l = [5,6,7]

p =set(p)

l =set(l)

#取两个集合中交集的值并且更新到p集合中

p.intersection_update(l)

print(p)

p = p-l

p.difference_update(l)

print(p)

#交叉补集

print(p.symmetric_difference(l))

print(p^l)

#如果没有交集返回ture,有返回false

print(p.isdisjoint(l))

s1 = {1,2}

s2 = {1,2,3,4}

print(s1.issubset(s2))#s1 是s2 的子集

print(s2.issubset(s1))#False

print(s2.issuperset(s1))#s2是s1的父集

#可迭代对象都可传值

s1.update(s2)#更新多个值

print(s1)

s1.update((3,4,5))#元组传值

print(s1)

#创建一个不可改变的集合

s =frozenset('hello')

print(s)

#简单列表去重

#先转换成集合,在转换成列表输出,无序

p = ['wentian' , 'name' , 'wentian' , '123']

v =set(p)

a =list(v)

print(a)

v1 =list(set(p))

print(v1)

你可能感兴趣的:(python的集合)