Python內置的一種數據類型是列表。php
list是一種有序的集合,能夠隨時添加和刪除其中的元素。java
# 建立list classmate = ['micheal', 'Bob', 'Tracy'] #打印長度 len(classmate) #訪問其中的元素 classmate[0] classmate[-1] # 向指定位置插入元素 classmate.insert(1, 'Jack') #刪除list尾部的元素 classmate.pop() #刪除list指定位置的元素 classmate.pop(1) #list中的元素的類型能夠不一樣 L = ['Apple', 123, True] #list中能夠有另外一個list s = ['python', 'java', ['asp', 'php'], 'scheme'] #或者 p = ['asp', 'php'] s = ['python', 'java', p, 'scheme']
另外一種有序列表叫元組:tuple。python
tuple一旦初始化就不能再修改算法
由於tuple不可變,因此代碼更安全,沒有append、insert這樣恩方法。安全
元素獲取的方法和list相同。app
若是可能,能用tuple的地方儘可能不實用list。code
#定義tuple t = (1, 2) #定義空tuple t = () #只有一個元素的tuple,必須加 ,!!!! t = (1, ) #可變的tuple t = ('a', 'b', ['A', 'B']) t[2][0]='X' t[2][1]='Y'
dict:字典,全程dictionary,其餘語言中也叫作map。對象
存儲方式爲:key-value,鍵值對的方式。內存
key不容許重複,不然,後定義的值會覆蓋前面定義的值rem
# 定義一個dict d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} # 添加元素 d['Adam'] = 67 # 判斷key是否存在 'Tomas' in d # 若是不存在,則返回null d.get('Thomas') # 若是不存在,則返回-1 d.get('Thomas', -1) # 刪除一個元素 d.pop('Micheal')
和list相比,1)dict查找和插入速度很快,不會隨着key的增長而增長。2)須要佔用大量的內存。
這是由於dict根據key來計算value的存儲位置,若是每次計算相同的key得出的結果不一樣,那dict內部就徹底混亂了。這個經過key計算位置的算法稱爲哈希算法(Hash)。
不能重複的list。
建立一個set,須要一個list做爲輸入集合。
# 建立一個set s = set([1, 1, 2, 2, 3, 3]) # 添加元素 s.add(key) # 刪除元素 s.remove(key) # set能夠當作是集合 s1 = set([1, 2, 3]) s2 = set([2, 3, 4]) # 集合的交集 s1 & s2 # 集合的並集 s1 | s2