這裏分享一下講義吧 python 裏面有一個很是強大的數據類型list。他什麼都能裝下。python
peter@智普教育:~$ python Python 2.7.3 (default, Aug 1 2012, 05:16:07) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> l1 = [4,5,"5"] >>> print l1 [4, 5, '5'] >>>
從上面的例子你能夠看出 list裏面既能夠支持 int類型,也能夠支持str類型。linux
print l1[0] >>> print l1[0] 4
list是能夠寫的,而int和str是隻讀的。app
>>> l1[0]="32" >>> print l1 ['32', 5, '5']
發生了什麼? 類型均可以改變!這就是奇蹟。 若是你要在C語言裏面這麼作幾乎是不可能的事情。 list 複製函數
>>> l1=[1,2,3] >>> l2=l1 >>> l1[0]=10 >>> print l1 [10, 2, 3] >>> print l2 [10, 2, 3] >>>
如何複製?code
>>> l2=l1[:] >>> print l2 [10, 2, 3] >>> l1[0]=24 >>> print l1 [24, 2, 3] >>> print l2 [10, 2, 3] >>>
發生了什麼? 第一種是指向,其實仍是同一個內容。 第二種是複製。orm
本質上的區別rem
>>> l2 = l1 >>> l2 == l1 #值相同 True >>> l2 is l1 #指向同一個地方 True >>> l2 = l1[:] >>> l2 == l1 #值相同 True >>> l2 is l1 #並非指向同一個地方 False
列表裏面能夠放入一個列表嗎?it
l1=[1,"a",[2,3,4]]
能夠!io
如何取得2,3,4?ast
l1[2][0]
你不應作什麼?
>>> l1=[] >>> l1[0]="a" Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list assignment index out of range
爲何? 由於l1等於一個空列表,沒有空間。 l1[0]是須要空間的。
咱們該怎麼讓空list存儲數據?
list有一寫默認的函數
l1.append("a")
刪除成員的方法
>>> l1.append("b") >>> l1.append("c") >>> l1.append("d") >>> l1.append("b") >>> print l1 ["b", "c", "d","b"] >>> l1.remove("b") >>> print l1 ["c", "d","b"] >>> l1.remove("b") >>> print l1 ["c","d"]
還有
l1.pop()
再試一個刪除的高級用法
>>> print l1 [2, 3, 4, 5] >>> del l1[1:3] >>> print l1 [2, 5]
怎麼樣,python強大嗎?
如何插入一個元素:
>>> l1.insert(1,67) >>> print l1 [2, 67, 5]