1. 程式人生 > >Day4—python基礎—字典and集合

Day4—python基礎—字典and集合

amp 輸出 type -s 詳細 定義 value key 功能

字典就是鍵值對應,鍵唯一,無序。集合用來去重,關系測試,無序。

字典這種數據類型常用的方法有:
1.clear() 
print(name.clear())       清除字典中的數據,輸出結果為none
2.fromkeys()
print(name.fromkeys(["c","z","p"],100))   創建字典,通過列表的方式指定多個key,並將這些key賦予相同的值
輸出結果為:
{c: 100, z: 100, p: 100}
3.get()
v = dic[k11111]
print(v)
v = dic.get(k1,111111)
print(v)                        根據Key獲取值,key不存在時,可以指定默認值(None)
4.pop name={ "k1":"v1", "k2":"v2" } name.pop("k1") 刪除,指定刪除的key,如果存在,刪除,如果key不存在,報錯 print(name) 輸出結果: {k2: v2} 5.popitem dic={ "k1":"v1", "k2":"v2" } print(dic.popitem()) Python 字典 popitem() 方法隨機返回並刪除字典中的一對鍵和值(一般刪除末尾對)。如果字典已經為空,卻調用了此方法,就報出KeyError異常 輸出結果: {
k2: v2} 6.update dic = { "k1": v1, "k2": v2 } dic.update({k1: 111111}) 更新 print(dic) 運行結果: {k1: 111111, k2: v2} 字典的for循環 for i in dic.keys(): 輸出字典中所有key的值 print(i) for i in dic.values():           輸出字典中所有value的值 print(i) for k,v in
dic.items():           輸出字典中所有的key對應的value值 print(k,v) 列表、元組、字典都可以通過切片的方式進行增刪改查。
集合的定義方法如下:
name=set("czp") /name=set({1,2,3,4})
print(type(name))
運行結果:
{z, c, p} /{9, 10, 3, 5}             打印結果可以看到是元素是無序的
<class set>                              使用type()方法打印name的類型為set
通過下面這個例子 進一步說明集合是去重的
name=set("czpcc")
print(name)
運行結果:
{c, p, z}
集合的一些基本方法如下所示:

1.add():添加,僅適用於添加單個元素
s = set([3,5,9,10])
s.add("x")     添加一個元素,註意:add方法只能添加單個元素,
print(s)            添加多個元素需要用update方法
運行結果:
{3, 5, 9, 10, x}
2.update():更新,適用於添加多個元素
s = set([3,5,9,10])
s.update([1,2])            通過update方法添加多個元素,可以使用[]列表的形式,也可以使用“”,“”這種,的形式隔開添加
print(s)
運行結果:
{1, 2, 3, 5, 9, 10}
3.clear():清空
s = set([3,5,9,10])
s.clear()                           移除集合中的所有元素
4.copy() :深淺copy會在後面的博客中詳細說。
5.pop():刪除(隨機刪)
s = set([3,5,9,10])
s.pop()         pop()方法,隨機刪除集合中的元素,如果集合為空,程序報錯
print(s)
運行結果:
{10, 3, 5}
6.remove():刪除(指定元素刪除)
s = set([3,5,9,10])
s.remove(3)                           指定元素刪除,如果為空或者該元素不存在,程序報錯
print(s)
運行結果:
{9, 10, 5}

上面提到了,集合的主要功能是去重和關系測試,對於集合的關系測試使用方法如下所示:
1.交集,可以如下兩種方式表示
s = set([3,5,9,10])
v = set([3,4,9,11])
print(s&v)
print(s.intersection(v))              求兩個集合的交集
運行結果是一樣的:
{9, 3}
{9, 3}
2.並集,用如下兩種方式表示
s = set([3,5,9,10])
v = set([3,4,9,11])
print(s|v)                            求兩個集合的並集
print(s.union(v))
運行結果:
{3, 4, 5, 9, 10, 11}
{3, 4, 5, 9, 10, 11}
3.差集,用如下兩種方式表示
s = set([3,5,9,10])
v = set([3,4,9,11])
print(s-v)                             求兩個集合的差集
print(s.difference(v))
運行結果如下:
{10, 5}
{10, 5}
另外還有 issubset()-判斷子集、issuperset()-判斷父級等方法,返回的值為布爾值。

Day4—python基礎—字典and集合