python-list、tuple、dict和set

list:有序集合[]

1、支持索引
2、支持倒序索引:-x
3、append():新增到尾部
4、insert(x,’test’):新增test到x位置,x從0開始
5、pop(x):刪除x+1元素,x不填爲刪除最後一個

tuple:有序列表()

1、創建完後不允許修改(指向不變)
2、定義單個元素時,t=(1,),避免歧義:運算()。多個元素後面不用加,
3、tuple的元素爲list時,list裏的元素可以改變,從而形成“可變”的tuple

>>> t = ('a', 'b', ['A', 'B'])
>>> L = t[2]
>>> L[0] = 'X'
>>> L[1] = 'Y'
> 再看看tuple的內容:
>>> print t
('a', 'b', ['X', 'Y'])

dict:字典{key:value}

1、 d[key] 的形式來查找對應的 value(list 必須使用索引返回對應的元素,而dict使用key)
如果key不存在,會直接報錯:KeyError。要避免 KeyError 發生,有兩個辦法:
一是先判斷一下 key 是否存在,用 in 操作符:

if 'Paul' in d:
    print d['Paul']

如果 ‘Paul’ 不存在,if語句判斷爲False,自然不會執行 print d[‘Paul’] ,從而避免了錯誤。
二是使用dict本身提供的一個 get 方法,在Key不存在的時候,返回None:

print d.get('Paul')
None

2、特點:速度快、佔內存、無順序、key值不能重複不可變
3、新增:dict[key]=value
如果key存在,則替換value

set:無重複無序列的元素集合([])

1、創建 set 的方式是調用 set() 並傳入一個 list,list的元素將作爲set的元素:

 s = set(['A', 'B', 'C'])

2、in判斷元素是否在set中
3、是沒有value的dict
4、add()新增元素,如果已有,不會報錯也不會新增
5、remove()刪除,如果沒有,會報錯KeyError:4,所以刪除前需要判斷

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章