python的list、tuple、dict、set的對比


listtupledictset
特點有序、查找速度隨着元素增加而逐漸下有序\不能修改無序、查找速度快、key不能重複元素沒有重複、無序、判斷一個元素是否在set中速度很快
創建L =['Michael', 'Bob', 'Tracy']t = ('Adam', 'Lisa',  'Bart')
 t = (1,)
 t = ('a', 'b', ['A', 'B'])
d = {
     'Adam': 95,
     'Lisa': 85,
     'Bart': 59
 }
s = set(['A', 'B', 'C'])
訪問L[0]、L[-1]t[0]、t[-1]通過key訪問
 if 'Paul' in d:
     print d['Paul']
 或
 d.get('Paul')
x = '???' # 用戶輸入的字符串
 if x in weekdays:
     print 'input ok'
 else:
     print 'input error'
添加元素尾部添加L.append('Paul')
 插入指定索引位置L.insert(0, 'Paul')
d['Paul'] = 72s.add(4)
刪除元素刪除最後一個元素並且返回L.pop()
 刪除指定索引的元素L.pop(2)

s.remove(4)
替換元素L[2] = 'Paul'
 L[-1] = 'Paul'


空的
t = ()

元素個數

len(d)
遍歷

for key in d:
 ...     print key
for name in s:
 ...     print name
切片取前3個元素L[0:3]從索引0開始取,直到索引3爲止,但不包括索引3;
 若第一個索引是0,可以省略不寫L[:3];
 第三個參數表示每N個取一個,上L[::2]



迭代L = ['Adam', 'Lisa', 'Bart',  'Paul']
 >>> for index, name in enumerate(L):
 ...     print index, '-', name

d = { 'Adam': 95, 'Lisa': 85,  'Bart': 59 }
 print d.values()
 # [85, 95, 59]
 for v in d.values():
     print v
 # 85
 # 95
 # 59
 或
 d = { 'Adam': 95, 'Lisa': 85, 'Bart':  59 }
 print d.itervalues()
 # <dictionary-valueiterator object at 0x106adbb50>
 for v in d.itervalues():
     print v
 # 85
 # 95
 # 59
 或for key, value in d.items():
 ...     print key, ':', value
 ...
 Lisa : 85
 Adam : 95
 Bart : 59

不知道爲什麼上傳不了附件。其實我整理了一個excel比較清楚的對比

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