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(" ","="*79) 22 for eachvalue in dict1.values(): 23 print(eachvalue, end=" ") 24 print(" ","="*79) 25 for eachitem in dict1.items(): 26 print(eachitem, end=" ") 27 print(" ","="*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', '你好': '我从没有来过', '你好吗': '我很想来'}