Python基礎(chǔ)語法(5)
集合set
特點(diǎn):
集合中的元素沒有索引。也就是無法遍歷取出.
-
集合中的元素是唯一的,不存在重復(fù)的元素。
可以通過將List轉(zhuǎn)化為set再轉(zhuǎn)化回List來給List去重。
代碼示例:
列表去重復(fù) li=[1,2,3,2,3,3,1,2] set_li=set(li) list_li=list(set_li) -
集合的標(biāo)志是“,”,外面的“()”是可以省略的。聲明一個(gè)集合時(shí),如果聲明s=(),此時(shí)s是一個(gè)“tuple”類型;如果聲明s=(1),此時(shí)s是“int”類型;如果聲明s=('1'),此時(shí)s是“str”類性。要想聲明一個(gè)空的集合,應(yīng)該使用如下代碼:
s=set()#聲明空集合
方法
add添加數(shù)據(jù)
向集合中添加元素。
代碼示例:
#初始化
set01=set()
#添加數(shù)據(jù)
set01.add(1)
set01.add(2)
print(set01)
discard()刪除數(shù)據(jù)
再集合中刪除括號內(nèi)填寫的數(shù)據(jù)(刪除集合中不存在的數(shù)據(jù)時(shí)不會報(bào)錯(cuò))
代碼示例:
set01.discard(2)#2是元素不是索引
remove()刪除數(shù)據(jù)
和discard()的效果相同,不過當(dāng)刪除不存在的元素時(shí)會報(bào)錯(cuò),可以結(jié)合異常信息處理對刪除信息情況進(jìn)行判斷。
代碼示例:
set.remove(2)#2是元素不是索引
pop()刪除集合末尾元素
每次刪除都會移除當(dāng)前集合的末尾元素。
代碼示例:
set01.pop()
取交集
取交集的方法有兩種:
- intersection
- intersection_update取交集并更新自己
代碼示例:
s0={1,2,3,4,5,6,7,8,9}
s1={6,8,9}
s2={8,19,9}
s3=s1.intersection(s2)
print(s3)
print(s1)
s3=s1.intersection_update(s2)
print(s3)
print(s1)
輸出結(jié)果:
{8, 9}
{8, 9, 6}
None
{8, 9}
取并集
使用union()方法。
代碼示例:
s4=s1.union(s2)
print(s4)
輸出結(jié)果:
{19, 8, 9}
合并(類似于補(bǔ)集)
代碼示例:
s5=s1.symmetric_difference(s2)
print(s5)
輸出結(jié)果:
{19, 6}
相當(dāng)于用s1,s2的并集減去它們的交集。
交集間關(guān)系運(yùn)算
isdisjoint()判斷是否不存在交集
issubset()判斷括號內(nèi)的集合是否是某集合的子集
-
issuperset()判斷括號內(nèi)的集合是否是某集合的父集
當(dāng)兩者有交集的時(shí)候返回False,沒有交集返回True。
代碼示例:se = {11, 22, 33} be = {22} print(se.isdisjoint(be)) # False,判斷是否不存在交集(有交集False,無交集True) print(se.issubset(be)) # True,判斷se是否是be的子集合 print(se.issuperset(be)) #True,判斷se是否是be的父集合
字典 Dictionary
特點(diǎn)
- 字典是可變類型。
- 字典中的元素沒有索引,所以字典中的元素不能排序和切片。
- 字典中的元素由Key和value組成。
字典的初始化
uu={}
給字典賦值
uu['name']='sam'
刪除字典中的元素
del uu['name']
遍歷字典
-
遍歷輸出key
#for item in user.keys() for item in user:#在user后面神略了一個(gè)kyes,打印的實(shí)際是key的數(shù)組 print(item) -
遍歷輸出value
for value in user.values(): print(value)
當(dāng)訪問不存在的key時(shí)會報(bào)錯(cuò)。