集合譬圣,存放不可變類型源葫,無(wú)序,不可重復(fù)
可變類型報(bào)錯(cuò)
#! /usr/bin/env python
# -*- coding:utf-8 -*-
s = {1,2,3,4,[12,32,"dsa"]}
s = {1,234,43}
print(s)
#隨機(jī)添加
s = {1,23,6,7}
s.add(44)
print(s)
#清空
s = {1,23,6,7}
s.clear()
print(s)
#復(fù)制
s = {1,23,6,7}
s1 = s.copy()
print(s1)
#刪除
s = {1,23,6,7}
#隨機(jī)刪除
s.pop()
#指定刪除
s.remove(23)
s.remove('sb')#指定刪除一個(gè)不存在元素驱犹,會(huì)報(bào)錯(cuò)
s.discard('sb')#指定刪除一個(gè)不存在元素嘲恍,不會(huì)報(bào)錯(cuò)
print(s)
p = {
'python',
? ? 'linux',
? ? 'kali',
? ? 'php'
}
l = {
'python',
? ? 'linux',
? ? 'centos'
}
###交集
print(p.intersection(l))#求兩個(gè)集合中相同的元素
print(p&l)
###并集
print(p.union(l))#求兩個(gè)集合中不相同的元素
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)
#取兩個(gè)集合中交集的值并且更新到p集合中
p.intersection_update(l)
print(p)
p = p-l
p.difference_update(l)
print(p)
#交叉補(bǔ)集
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的父集
#可迭代對(duì)象都可傳值
s1.update(s2)#更新多個(gè)值
print(s1)
s1.update((3,4,5))#元組傳值
print(s1)
#創(chuàng)建一個(gè)不可改變的集合
s =frozenset('hello')
print(s)
#簡(jiǎn)單列表去重
#先轉(zhuǎn)換成集合,在轉(zhuǎn)換成列表輸出,無(wú)序
p = ['wentian' , 'name' , 'wentian' , '123']
v =set(p)
a =list(v)
print(a)
v1 =list(set(p))
print(v1)