集合:set
特點:1)不同元素組成
2)無序
3)集合中元素必須是不可變型別
s=(type(s))
output:
'set
'>s=set('
hello')
(s)output:
s=set(["
abc","
abc","sb"
(s)output:
集合set的方法:
ss=s.copy()(ss)
s.clear()
s.add(3)
s.pop()
s.remove("sb
")s.remove(
"dhdhdkddkkd
") #
刪除元素不存在會報錯
s.discard("
sbbbbb
") #
刪除元素不存在不會報錯
集合關係運算交、差、並集
python_1=['lcg','
szw','
zjw'
]linux_1=['
lcg','
szw',"sb"
]p_s=set(python_1)
l_s=set(linux_1)
(p_s,l_s)
#求交集
(p_s.intersection(l_s))
print(p_s&l_s)
#求並集
(p_s.union(l_s))
print(p_s|l_s)
#求差集
(p_s.difference(l_s))
print("
差集:",p_s-l_s)
(l_s.difference(p_s))
print("
差集:",l_s-p_s)
#交叉補集
print('
交叉補集
',p_s.symmetric_difference(l_s))
print('
交叉補集
',p_s^l_s)
#difference_update求出差集後,並更新p_s
p_s.difference_update(l_s)
print(p_s)
其他方法:
#isdisjoint如果兩個集合交集結果為空,則返回true
s1=s2=
(s1.isdisjoint(s2))
#issubset相當於s1<=s2即s1是s2的子集,issuperset相當於s1>=s2即s1是s2的父集
s1=s2=
print(s1.issubset(s2))#
s1是s2的子集
print(s2.issubset(s1))#
返回false
print(s2.issuperset(s1))#
s1是s2的父集
#update相當於將s2的值更新給s1
s1.update(s2)#
更新多個值,可傳入字典、列表
(s1)
s1.add(5)#
更新乙個值
s1.union(s2)#
不更新
frozenset定義為了不可變型別,沒有add等方法
s=frozenset('hello')
# s沒有add等方法
#實現簡單去重
names=['wendy
','wendy
','xiaozhu']
s=set(names)
print(s)
#將names變為之前的list,不過順序變了
names=list(s)
(names)
#上述幾句變為一句,簡單去重,順序會變
names=list(set(names))
程式語言 Python 002
1 字串拼接 字串格式化,可以處理非常複雜的字串拼接 usr bin python print my name is s and weight is d kg zara 21 輸出為 is zara and weight is 21 kg 常用佔位符號 s,i,d,c 還可以控制輸出的格式,比如對齊...
002 Python資料型別
一 int型別 進製標誌 二進位制0b開頭 八進位制0o開頭 十六進製制 0x開頭 二 float型別 三 str型別 格式化字串 引入 字串之間相加,則會自動將兩個字串拼接為乙個字串。但是,字串不能和其他的型別的資料進行加法運算,所以 a 123 print a a 就會報錯。解決方式一 pyth...
資料結構與演算法(Python)00 2演算法效率衡量
第一次嘗試 import time start time time.time 注意是三重迴圈 for a in range 0 1001 for b in range 0 1001 for c in range 0 1001 if a 2 b 2 c 2and a b c 1000 print a,...