天天看點

Python入門——dict與set

1.dict結構與其方法

dict結構就是把集合關聯起來,dict特點與對比如下:

1.dict的查找速度快,查找10個元素或者10萬個元素都一樣速度,且dict的key-value是無序輸出(print列印全部時,不分定義時的先後順序)

缺點是占記憶體大,浪費空間.

2.list占記憶體小,list是有序排列(定義時的順序,即print列印順序)

缺點是會随着資料的增多而下降搜尋速度.

#dict結構,例:
d = {
    'a':,
    'b':,
    'c':
}
#注意,':'前面稱為key,':'後面稱為value
#通過key可以找到其對應的value
#ps:len(d)可以輸出dict的長度length


#dict通路,例:
print d['a']
#注意,key必須要正确,不然會報錯,是以可以使用判斷語句
#1.if判斷
if 'a' in d:
    print d['a']

#2.dict本身的方法get,若不存在則傳回None
print d.get('a')


#更新dict,例:
#添加未有的新key,則會成功添加:
d['d'] = 
#添加已有的key,則會修改原有的key的value:
d['c'] = 


#周遊dict
#例:
for key in d:
    print key,':',d[key]
#d[key]也可以換成d.get(key)
           

2.set結構與其方法

set持有一系列元素,像list,但無重複,對象内容不能改變,無序輸出的特性,像dict的key

set格式:s = set([‘a’,’b’,’c’])

注,元素中若有重複,會自動去除

#通路set
#由于無序,無法下标通路set,但是可以判斷,例:
'a' in s  #傳回True,即s中存在
'A' in s  #傳回False,即s中不存在,元素區分大小寫


#周遊set
#例:
s = set([('a',),('b',),('c',)])
for x in s:
    print x[],':',x[]
    #list是有下标的


#更新set
#添加,無論此元素是否存在,都不會報錯,例:
s.add('d')
#删除,若無此元素,則會報錯,例:
s.remove('d')