python基礎2--字典,python2--字典
字典
字典是另一種可變容器模型,且可儲存任意類型對象。
字典的每個索引值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括弧({})中
文法:
1 goods = {2 'apple':4.5,3 'orange':2.3,4 'banana':3.55 }
字典的特性:
1.增加元素
1 >>> goods2 {'apple': 4.5, 'banana': 3.5, 'orange': 2.3}3 >>> goods['peach']=5.04 >>> goods5 {'apple': 4.5, 'banana': 3.5, 'orange': 2.3, 'peach': 5.0}
2.修改
1 >>> goods['apple']=5.5 # 將蘋果的價格改為 5.52 >>> goods3 {'apple': 5.5, 'banana': 3.5, 'orange': 2.3, 'peach': 5.0}
3.刪除元素
1 >>> goods 2 {'apple': 5.5, 'banana': 3.5, 'orange': 2.3, 'peach': 5.0} 3 >>> goods.pop('peach') #刪除最後一個,並返回value的值 4 5.0 5 >>> goods 6 {'apple': 5.5, 'banana': 3.5, 'orange': 2.3} 7 8 >>> del goods['banana'] # 指定 key的刪除 9 >>> goods10 {'apple': 5.5, 'orange': 2.3}11 12 >>> goods13 {'apple': 5.5, 'grape': 6.0, 'orange': 2.3, 'watermelon': 12.0}14 >>> goods.popitem() # 隨機刪除15 ('apple', 5.5)16 >>> goods17 {'grape': 6.0, 'orange': 2.3, 'watermelon': 12.0}
4.尋找
1 >>> goods 2 {'grape': 6.0, 'orange': 2.3, 'watermelon': 12.0} 3 >>> 'grape' in goods 4 True 5 >>> goods.get('orange') # 知道key,擷取 value 6 2.3 7 >>> goods['watermelon'] 8 12.0 9 >>> goods['apple'] # 如果一個key不存在,就會報錯,get不會,不存在只會返回None10 Traceback (most recent call last):11 File "<stdin>", line 1, in <module>12 KeyError: 'apple'
5.多級字典及操作
1 area = {'浙江': 2 { 3 '杭州':['西湖區','下城區','蕭山區'], 4 '嘉興':['南湖區','秀洲區','平湖市'], 5 '溫州':['九灣區','鹿城區','洞頭區'] 6 }, 7 '江蘇': 8 { 9 '南京':['鼓樓區','玄武區','秦淮區'],10 '蘇州':['姑蘇區','吳中區','虎丘區'],11 '常州':['武進區','金壇市','溧陽市']12 }13 14 15 }16 17 >>> area['浙江']['杭州']18 ['西湖區', '下城區', '蕭山區']19 20 21 >>> area['浙江']['杭州'][1] += ',很大'22 >>> area['浙江']['杭州']23 ['西湖區', '下城區,很大', '蕭山區']
6.其他用法
1 >>> area.keys() 2 dict_keys(['浙江', '江蘇']) 3 >>> goods.values() 4 dict_values([6.0, 2.3, 12.0]) 5 >>> goods.keys() 6 dict_keys(['grape', 'orange', 'watermelon']) 7 8 {'grape': 6.0, 'orange': 2.3, 'watermelon': 12.0} 9 >>> b = {1:2,3:4,'grape':4.5}10 >>> goods.update(b)11 >>> goods12 {1: 2, 3: 4, 'grape': 4.5, 'orange': 2.3, 'watermelon': 12.0}13 14 >>> goods.items()15 dict_items([(1, 2), (3, 4), ('grape', 4.5), ('orange', 2.3), ('watermelon', 12.0)])
7.遍曆字典
1 for key in goods:2 print(key,goods[key])3 #或4 for k,v in goods.items():5 print(k,v)