1. 程式人生 > >Python學習之dict和set

Python學習之dict和set

不可變 需要 after 集合 value 報錯 list 也會 如果

#coding=utf-8

# dict
dict= {‘bob‘: 40, ‘andy‘: 30}
print dict[‘bob‘]
# 通過dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value:
print dict.get(‘Lisa‘,666)
# 要刪除一個key,用pop(key)方法,對應的value也會從dict中刪除:
dict.pop(‘bob‘)
print dict
‘‘‘
 1.dict內部存放的順序和key放入的順序是沒有關系的。
 2.和list比較,dict有以下幾個特點:
    2.1.查找和插入的速度極快,不會隨著key的增加而增加;
    2.2.需要占用大量的內存,內存浪費多。
 所以,dict是用空間來換取時間的一種方法。
 3.dict的key必須是不可變對象。
 
‘‘‘

# set
# set和dict類似,也是一組key的集合,但不存儲value。
s = set([1, 2, 3,4,4,6])
print ‘s=‘, s
# add(key)
s.add(‘Greta‘)
s.remove(6)
print ‘after change:‘,s
# 交集、並集
s1 = set([1,2,3])
s2 = set([1,3,4])
print ‘交集‘,s1&s2
print ‘並集‘,s1|s2

# 不可變對象
list = [5,2,3,10,4]
list.sort()
print ‘after sort:‘, list

teacher=‘Andy‘
teacher.replace(‘Andy‘,‘Bob‘)
print teacher

# 總結:set不接受可變元素,所以用turple沒問題,但是如果有list就會報錯

Python學習之dict和set