1.dict 字典對象
a.定義對象
d={'a':14,'b':12}
b.通過key獲取value d['a']
方法1.
判斷key是否存在
if 'a' in d:
d['a']
方法2:通過用get方法獲取 如果不存在則返回none數據
d.get('a');
dict 查找速度快 list隨着元素的數量的增加變慢
dict 占用內存 浪費大量的內容 list占用內存小 查找速度慢
dict中的key不能重復 dict 沒有順序
dict的key 是不可以變的 字符串 整數 浮點數都不可變 都可以做key 但是list可變 所以list不能當key用
‘123’:[1,2,3]
123:'123'
('a','b'):true
c. dict 添加新元素
d['paul']=72如果可以存在 則覆蓋原key中的value值
d. 遍歷dict 用for循環 遍歷key
d={'a':12,'b':55}
for key in d
print key
print d[key]
print key+':',+d[key]
------------------------------------------------
2.set對象
set 沒有重復 無序
a.定義對象
s=set(['a','b','c'])
len(s) 獲取s的長度
無序的集合是不能用索引去訪問 訪問set某個元素就是判斷此元素是否在set中
‘bar’ in
set 區分大小寫
set和dict的區別就是沒有value值 判斷元素是否在set中很快
set元素是不可變元素
b.遍歷set對象 set也是集合 for循環實現
s=set(['a','b'])
for name in s
print s
c.更新set 添加元素 add()
s.add(4);
d.刪除元素 s.remove(3); 如果元素不存在 刪除是報錯 則需提前判斷
s=set(['a','b'])
l=['a','b','c','d']
for name in l:
if name in s
s.remove(name);
else
s.add(name);