## dict和set的使用
[TOC]
* Python內置了字典:dict的支持,dict全稱dictionary,在其他語言中也稱為map,使用鍵-值(key-value)存儲,具有極快的查找速度。
* 和list比較,dict有以下幾個特點:
1. 查找和插入的速度極快,不會隨著key的增加而增加;
2. 需要占用大量的內存,內存浪費多。
* 而list相反:
1. 查找和插入的時間隨著元素的增加而增加;
2. 占用空間小,浪費內存很少。
>[info] #### dict的使用
~~~
dd = {"name" : "wang", "age": 20}
print dd
print dd["name"] #打印key=name的值
print "name" in dd #用in判斷name鍵是否存在,存在返回True
print dd.get("name") #獲取name的值 ,鍵不存在返回: None
pirnt dd.get("ages", 18) #若ages鍵不存在則返回默認值 18
dd.pop("age") #刪除age鍵,鍵不存在報錯
//請務必注意,dict內部存放的順序和key放入的順序是沒有關系的。
key鍵必須是字符串、整數等都是不可變的,list的不行
~~~
>[info] #### set 的使用
* set和dict類似,也是一組key的集合,但不存儲value。由于key不能重復,所以,在set中,沒有重復的key。
* 要創建一個set,需要提供一個list作為輸入集合:
~~~
s = set([1,2,3,4]) #創建一個set, 必須里面是一個list
s.add(5) #添加值
s.remove(4) #刪除4元素 [1,2,3, 5]
~~~
* 做交集和并集
~~~
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
set([2, 3])
>>> s1 | s2
set([1, 2, 3, 4])
~~~
>[info] #### 列表排序
~~~
list = ["a", "d", "c"]
list.sort()
~~~
>[info] #### 字符串替換
~~~
a = "abc";
b = a.replace("a", "A")
print b # Abc
~~~