什麼是字典 字典是另一種可變容器模型,且可存儲任意類型對象。 字典的每個鍵值 key=>value 對用冒號 : 分割,每個鍵值對之間用逗號 , 分割,整個字典包括在花括弧 {} 中 鍵必須是唯一的,但值則不必。 值可以取任何數據類型,但鍵必須是不可變的,如字元串,數字或元組。 示例: 創建字典 方 ...
什麼是字典
字典是另一種可變容器模型,且可存儲任意類型對象。
字典的每個鍵值 key=>value 對用冒號 : 分割,每個鍵值對之間用逗號 , 分割,整個字典包括在花括弧 {} 中
鍵必須是唯一的,但值則不必。
值可以取任何數據類型,但鍵必須是不可變的,如字元串,數字或元組。
示例:
1 >>> d ={"name":"beijing"} #花括弧中 “name ”為key 即鍵 “beijing”為value 即值 中間用冒號分割。多個鍵值對用逗號分割,鍵必須唯一。鍵必須是不可變類型,值可以是任何數據類型 2 >>> d 3 {'name': 'beijing'} 4 >>> type(d) 5 <type 'dict'> 6 >>>
創建字典
方式1:mydict={}
方式2:mydict=dict(arg)
方式3:mydict={}.fromkeys(arg)
1 >>> d={} #創建了一個空的字典 2 >>> person ={"name":"zhangsan","age":"18"} #創建一個有內容的字典 3 >>> d["student"]="xiaoming" #向字典d中添加內容 4 >>> d 5 {'student': 'xiaoming'} 6 >>> id(d) #id函數獲取對象的記憶體地址。 7 49510328L 8 >>> d["age"]=18 #向d字典中添加age 9 >>> d 10 {'age': 18, 'student': 'xiaoming'} 11 >>> id(d) #id函數獲取對象的記憶體地址與上面的相同,由此可見添加內容並沒有創建新的字典,說明字典是可以修改的,或者說字典是可變得 12 49510328L 13 >>> name=([1,"baidu"],[2,"weibo"]) #創建一個元組,元組中有兩個列表,一個列表中有兩個元素,這兩個元素對應著即將創建的key和value 14 >>> name 15 ([1, 'baidu'], [2, 'weibo']) 16 >>> web =dict(name) #使用dict函數創建字典 17 >>> web 18 {1: 'baidu', 2: 'weibo'} 19 >>> w =dict(name="tom",age=10) #使用dict函數創建字典 20 >>> w 21 {'age': 10, 'name': 'tom'} 22 >>> book ={}.fromkeys(("python","author"),"cc") #使用fromkeys創建字典,可以看出value值可以重覆 23 >>> book 24 {'python': 'cc', 'author': 'cc'} 25 >>>
基本方法
len() 鍵值對的長度
d[key] 通過key獲取value值
d[key]=value 修改或增加
del[key] 刪除
key in d 判斷key是否在字典d中
1 >>> city_codes 2 {'tianjin': '022', 'beijing': '010', 'shanghai': '021', 'chongqing': '023'} 3 >>> "beijing is the capital of China ,its area code is %(beijing)s" % city_codes 4 'beijing is the capital of China ,its area code is 010' 5 >>> len(city_codes) # 6 4 7 >>> city_codes["beijing"] 8 '010' 9 >>> city_codes["nanjing"]="025" 10 >>> city_codes 11 {'tianjin': '022', 'beijing': '010', 'shanghai': '021', 'nanjing': '025', 'chongqing': '023'} 12 >>> del city_codes["shanghai"] 13 >>> "shanghai" in city_codes 14 False 15 >>>
鍵值對:映射關係
1 >>> city_codes={"beijing":"010","shanghai":"021","tianjin":"022","chongqing":"023"} 2 >>> city_codes["beijing"] #通過字典的key訪問字典的值 3 '010' 4 >>> city_codes #字典是無序的 5 {'tianjin': '022', 'beijing': '010', 'shanghai': '021', 'chongqing': '023'} 6 >>> "beijing is the capital of China ,its area code is %(beijing)s" % city_codes #格式化字元串可以使用字典(註意) 7 'beijing is the capital of China ,its area code is 010' 8 >>>