2019.1.11字典的相關內容(二)
1 #fromkeys方法的總結: 2 #fromkeys()函數用於創建一個新字典,以序列seq中元素做字典的鍵, 3 #value為字典所有鍵對應的初始值。 4 #fromkeys()方法語法:dict.fromkeys(seq[,value]),該方法返回列表。 5 dict1={} 6 adict=dict1.fromkeys((1,2,3),("one","two","three")) 7 print(adict) 8 9 adict[3]="我是來改變3的value值的" 10 print(adict) 11 #個人認識:在創建字典的過程中,只有兩個元素,一個鍵,【一個值】。12 13 #訪問字典的方法: 14 #keys():返回一個由字典所有所有鍵構成的列表 15 #value():返回字典所有值組成的一個列表 16 #items():返回一個由元組構成的列表,每個元組包含一對鍵-值 17 18 dict1=dict1.fromkeys(range(3),"我愛你中國") 19 for eachkey in dict1.keys(): 20 print(eachkey, end=" ") 21 print("\n","="*79) 22 for eachvalue in dict1.values(): 23 print(eachvalue, end="") 24 print("\n","="*79) 25 for eachitem in dict1.items(): 26 print(eachitem, end=" ") 27 print("\n","="*79) 28 29 #get(key,[,returnvalue]):返回key的值,若無key而指定了returnvalue,則返回 30 #returnvalue值,若無此值則返回None 31 32 b=dict1.get(4,"溫馨提示:木有這個鍵") 33 print(b) 34 35 #一個鍵是否在字典中?? 36 #成員操作符(in 和 not in) 37 #清空一個字典clear()方法,dict1={} 38 39 a= 4 in dict1 40 print(a) #返回值為false 說明不在字典中,返回true說明在字典中。 41 42 dict1.clear()#clear 是清空內存 43 print(dict1) 44 45 dict1={"姓名": "bcyczhhb"} 46 47 a=dict1 48 b=a 49 a={} 50 print("這是打印的a", a) 51 print("這是打印的b", b) 52 print("這是打印的dict1", dict1) 53 dict1.clear() 54 print("這是打印的b", b) 55 #註:清空a,並不影響b,因為a b都是指向dict1 56 57 #copy()方法:創建並返回字典的淺拷貝(新字典元素為原始字典的引用) 58 #字典深拷貝方法為(若字典為i)w=i[:]這表示w字典為i字典的一個深拷貝 59 a={1:"one",2:"two",3:"three"} 60 b=a.copy() 61 c=a 62 c[4]="我是新來的" 63 print(b) 64 print(id(a),id(b),id(c))#這裏的id應該是內存中的位置 65 print(a,b,c) 66 67 #pop()方法:刪除指定鍵-值對,並作為兩個元素的元組返回。 68 #popitem()方法:刪除任意鍵-值對,並作為兩個元素的元組返回。如字典為空,則返回 69 #KeyErro異常 70 #setdefault(key[,dummvalue])方法:具有與get方法類似的行為。如key不在字典中,同時 71 #指定了dummvalue,就將鍵(key)和指定的值(dummvalue)插入字典,如果沒有指定dummvalue 72 #則值為None 73 74 a.pop(2)#刪除的是鍵,不是索引,括號內必須要有參數 75 print(a) 76 a.popitem()#刪除任意一對鍵值 77 print(a) 78 a.setdefault("你好","我從沒有來過")#設置字典內容,相當於追加內容 79 print(a) 80 inser={"你好嗎":"我很想來"}#臨時聲明一個字典 81 a.update(inser)#升級字典內容,相當於追加內容 82 print(a)
執行結果如下:
{1: (‘one‘, ‘two‘, ‘three‘), 2: (‘one‘, ‘two‘, ‘three‘), 3: (‘one‘, ‘two‘, ‘three‘)}
{1: (‘one‘, ‘two‘, ‘three‘), 2: (‘one‘, ‘two‘, ‘three‘), 3: ‘我是來改變3的value值的‘}
0 1 2
===============================================================================
我愛你中國 我愛你中國 我愛你中國
===============================================================================
(0, ‘我愛你中國‘) (1, ‘我愛你中國‘) (2, ‘我愛你中國‘)
===============================================================================
溫馨提示:木有這個鍵
False
{}
這是打印的a {}
這是打印的b {‘姓名‘: ‘bcyczhhb‘}
這是打印的dict1 {‘姓名‘: ‘bcyczhhb‘}
這是打印的b {}
{1: ‘one‘, 2: ‘two‘, 3: ‘three‘}
49544936 49590208 49544936
{1: ‘one‘, 2: ‘two‘, 3: ‘three‘, 4: ‘我是新來的‘} {1: ‘one‘, 2: ‘two‘, 3: ‘three‘} {1: ‘one‘, 2: ‘two‘, 3: ‘three‘, 4: ‘我是新來的‘}
{1: ‘one‘, 3: ‘three‘, 4: ‘我是新來的‘}
{1: ‘one‘, 3: ‘three‘}
{1: ‘one‘, 3: ‘three‘, ‘你好‘: ‘我從沒有來過‘}
{1: ‘one‘, 3: ‘three‘, ‘你好‘: ‘我從沒有來過‘, ‘你好嗎‘: ‘我很想來‘}
2019.1.11字典的相關內容(二)