1.集合
集合主要作用:去重;關係運算。
集合的元素遵循三個原則:1:每個元素必須是不可變型別(可hash,可作為字典的key);2:沒有重複的元素;3:無序
2.集合的內建方法
(1)將列表轉化為乙個集合,並將列表中的重複元素刪除,生成乙個無序的集合
s=set(['alex
','alex
','王強'])
print(s)
set()在建立集合時會自動去重;frozenset()建立出的集合不可被新增刪除
(2)新增及刪除
s=set(['alex
','alex
','王強'])
s.add(
'wangqiang')
print(s)
add()新增,只能新增乙個元素;s1.update(s2)的形式可以更新多個值,將集合s2中的元素更新到s1中
clear()清屏;copy()複製,複製輸出無序;
s=set(['alex
','alex
','王強'])
s.remove(
'wangqiang')
print(s)
remove()指定刪除,當指定刪除的元素不存在時會報錯;pop()隨機刪除;discard()指定刪除,當指定刪除的元素不存在時不會報錯
(3)交集(&或者intersection())
p_s=l_s=
print(p_s&l_s)
print(p_s.intersection(l_s))
輸出結果為:
(4)並集(|或者union())
p_s=l_s=
print(p_s|l_s)
print(p_s.union(l_s))
輸出結果為:
(5)差集(-或者difference())
p_s=l_s=
print(p_s-l_s)
print(p_s.difference(l_s))
輸出結果為:
p_s-l_s:僅存在於p_s集合裡的;l_s-p_s:僅存在於l_s集合裡的(輸出結果為:)
p_s=l_s=
p_s.difference_update(l_s)
print(p_s)
difference_update():求出差集並將結果更新於集合中
(6)交叉補集(^或者symmetric_difference())
p_s=l_s=
print(l_s^p_s)
print(p_s.symmetric_difference(l_s))
輸出結果為:。兩集合的並集減去兩集合的交集
(7)判斷兩集合是否沒有交集
s1=s2=print(s1.isdisjoint(s2))
輸出結果為:false。(沒有交集返回值為true,有交集返回值為false)
(8)子集和父集
s1=s2=print
(s1.issubset(s2))
print(s2.issuperset(s1))
輸出結果為:true;true(其中,s1.issubset(s2)判斷s1 是否是s2 的子集;s2.issuperset(s1)判斷s1 是否是s2 的父集)
(9)列表去重
names=['alex
','alex
','wupeiqi']
names=list(set(names))
print(names)
輸出結果為:['wupeiqi', 'alex'](結果仍未列表的形式,結果內的元素是無序的)
3.字串格式化
a.百分號方式
(1)字串拼接
msg='i am %s my hobby is %d
' % ('
wangqiang
',18)
print(msg)
輸出結果為:i am wangqiang my hobby is 18
%s後面可以接任何資料型別,基本接字串;%d後面接整形數字
tpl = "i am %(name)s age %(age)d
" %
print(tpl)
輸出結果為:i am wangqiang my agey is 18(以鍵的形式傳入資料)
(2)列印浮點數(預設保留六位)
tpl = "percent %.2f
" % 99.97623444
print(tpl)
輸出結果為:percent 99.98。其中,2表示保留小數點後兩位
(3)列印百分比(預設保留六位)
tpl = 'percent %.2f %%
' % 99.976234444
print(tpl)
輸出結果為:percent 99.98%
(4)按指定分隔符將字串進行拼接
print('root
','x
','0
','0
',sep='
:')
輸出結果為:root:x:0:0
b.format()字串格式化
(1)以字典的方式進行傳入
tpl = "i am , age , really
".format(**)
print(tpl)
輸出結果為:i am 王強, age 18, really 王強。相當於命令:
tpl = "i am , age , really
".format(name="
王強", age=18)
print(tpl)
(2)以列表的方式傳入
tpl = "i am , age
".format(*["
王強", 18])
print(tpl)
輸出結果為:i am 王強, age 18。相當於命令:
tpl = "i am , age
".format("
seven
", 18)
print(tpl)
(3)
tpl = "numbers: ,,,,, ,{}
".format(15, 15, 15, 15, 15, 15.87623, 2)
print(tpl)
輸出結果為:numbers: 1111,17,15,f,f, 1587.623000%,2
python集合的內建方法
add 為集合新增元素 clear 移除集合中的所有元素 copy 拷貝乙個集合 difference 返回多個集合的差集 difference update 移除集合中的元素,該元素在指定的集合也存在。discard 刪除集合中指定的元素 intersection 返回集合的交集intersect...
Python筆記 集合內建方法總結
set1 是 set2的子集,返回true 否則,返回false。num1 num2 num3 num1.issubset num2 num1中所有的元素是num2的成員 true num1.issubset num3 num1中所有的元素是num3的成員,但num1 num3 trueset2 是...
python集合的其他內建方法
1.交叉補集 python 1 alex bob songyue linux 1 alex bob ghj p s set python 1 l s set linux 1 print p s.symmetric difference l s 等價於print p s l s 2.p s.diffe...