list(列表)是Python內置的一種數據類型,它是一種有序、可變的集合,能夠隨時添加和刪除其中的元素。python
>>> classmates = ['Li', 'Tom', 'Alice'] >>> classmates ['Li', 'Tom', 'Alice']
變量classmates就是一個list。關於list的操做以下:算法
方法shell
len():獲取list元素的個數安全
>>> len(classmates) 3
經過索引訪問app
''' 遇到問題沒人解答?小編建立了一個Python學習交流QQ羣:579817333 尋找有志同道合的小夥伴,互幫互助,羣裏還有不錯的視頻學習教程和PDF電子書! ''' >>> classmates[0] 'Li' >>> classmates[-1] 'Alice' >>> classmates[3] Traceback (most recent call last): File "<pyshell#11>", line 1, in <module> classmates[3] IndexError: list index out of range
append:向list末尾追加元素ide
>>> classmates.append('Adam') >>> classmates ['Li', 'Tom', 'Alice', 'Adam']
insert:把元素插入到指定的索引學習
>>> classmates.insert(1,'Jack') >>> classmates ['Li', 'Jack', 'Tom', 'Alice', 'Adam']
pop():刪除末尾的元素code
>>> classmates.pop() 'Adam
pop(i):刪除指定索引的元素視頻
''' 遇到問題沒人解答?小編建立了一個Python學習交流QQ羣:579817333 尋找有志同道合的小夥伴,互幫互助,羣裏還有不錯的視頻學習教程和PDF電子書! ''' >>> classmates.pop(1) 'Jack' >>> classmates ['Li', 'Tom', 'Alice']
tuple是一種有序、不變的集合,也叫元組,一旦初始化就不能修改。與list相比,就沒有append()、insert()這樣的方法。對象
爲何有了list還要tuple?
由於tuple是不變的,因此代碼更安全,因此若是能用tuple代替list就儘可能用tuple吧。
Notes
不變指的是tuple的每一個元素,指向永遠不變,指向一個list,就不能改爲指向其餘對象,但指向的list自己是能夠改變的。
''' 遇到問題沒人解答?小編建立了一個Python學習交流QQ羣:579817333 尋找有志同道合的小夥伴,互幫互助,羣裏還有不錯的視頻學習教程和PDF電子書! ''' >>> t = ('a', 'b', ['A', 'B']) >>> t[2][0] = 'X' >>> t[2][1] = 'Y' >>> t ('a', 'b', ['X', 'Y'])
特殊的tuple元組
#空tuple () >>> t = () >>> t () #一個元素的tuple,必須加','來消除歧義(小括號就能夠表示typle又能夠表示數學中的小括號) >>> t = (1,) >>> t (1,)
dict全稱dictionary,使用鍵-值(key-value)存儲,具備極快的查找速度。用Python寫一個dict以下:
>>> d ={'Michael': 95, 'Bob': 75, 'Tracy': 85} >>> d['Michael'] 95
Tips:dict內部存放的順序和key放入的順序是沒有關係的。
對比於list
dict的特色:1.查找和插入的速度極快,不會隨着key的增長而變慢 2.須要佔用大量的內存,內存浪費多。
而list偏偏相反:1.查找和插入的時間隨着元素的增長而變慢 2.佔用空間小,浪費內存少。
小結
因此,dict是用空間來換取時間的一種方法。dict能夠用在須要高速查找的地方,在Python代碼中幾乎無處不在,正確使用dict就變得十分重要,須要牢記的第一條就是dict的key必須是不可變的對象。dict根據key來計算value的存儲位置(哈希算法),在Python中,字符串、整數等是不能夠變的,而list是可變的,就不能做爲key。
set和dict相似,也是一組key的集合,但不存儲value,set能夠當作數學意義上的無序和無重複元素的集合。要建立一個set,須要提供一個list做爲輸入集合:
''' 遇到問題沒人解答?小編建立了一個Python學習交流QQ羣:579817333 尋找有志同道合的小夥伴,互幫互助,羣裏還有不錯的視頻學習教程和PDF電子書! ''' >>> s = set([1,2,3]) >>> s {1, 2, 3}
兩個set能夠作數學意義上的交集、並集等操做:
>>> s1 = set([1,2,3]) >>> s2 = set([2,3,4]) >>> s1 & s2 {2, 3} >>> s1 | s2 {1, 2, 3, 4}