列表使用[]來表示
成都創(chuàng)新互聯(lián)公司是由多位在大型網(wǎng)絡公司、廣告設計公司的優(yōu)秀設計人員和策劃人員組成的一個具有豐富經(jīng)驗的團隊,其中包括網(wǎng)站策劃、網(wǎng)頁美工、網(wǎng)站程序員、網(wǎng)頁設計師、平面廣告設計師、網(wǎng)絡營銷人員及形象策劃。承接:成都網(wǎng)站建設、成都網(wǎng)站制作、網(wǎng)站改版、網(wǎng)頁設計制作、網(wǎng)站建設與維護、網(wǎng)絡推廣、數(shù)據(jù)庫開發(fā),以高性價比制作企業(yè)網(wǎng)站、行業(yè)門戶平臺等全方位的服務。
比如,列出列出班里所有同學的名字,就可以用一個list表示:
>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates
['Michael', 'Bob', 'Tracy']
變量classmates
就是一個list,用len()
函數(shù)可以獲得list元素的個數(shù):
>>>len(classmates)
3
列表有序的,可以用索引根據(jù)下標獲取列表每個位置的元素,索引從0
開始:
>>> classmates[0]
'Michael'
>>> classmates[1]
'Bob'
>>> classmates[2]
'Tracy'
>>> classmates[3]
Traceback (most recent call last):
File "", line 1, in
IndexError: list index out of range
當索引超出了范圍時,Python會報一個IndexError
錯誤,所以,要確保索引不要越界,記得最后一個元素的索引是len(classmates) - 1
。
如果要取最后一個元素,除了計算索引位置外,還可以用-1做索引,直接獲取最后一個元素:
>>> classmates[-1]
'Tracy'
以此類推,可以獲取倒數(shù)第2個、倒數(shù)第3個:
>>> classmates[-2]
'Bob'
>>> classmates[-3]
'Michael'
>>> classmates[-4]
Traceback (most recent call last):
File "", line 1, in
IndexError: list index out of range
當然,倒數(shù)第4個就越界了。
list是一個可變的有序表,所以,可以往list中追加元素到末尾:
>>> classmates.append('Adam')
>>> classmates
['Michael', 'Bob', 'Tracy', 'Adam']
也可以把元素插入到指定的位置,比如索引號為1的位置:
>>> classmates.insert(1, 'Jack')
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']
要刪除list末尾的元素,用pop()方法:
>>> classmates.pop()
'Adam'
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy']
要刪除指定位置的元素,用pop(i)方法,其中i是索引位置:
>>> classmates.pop(1)
'Jack'
>>> classmates
['Michael', 'Bob', 'Tracy']
也可以使用remove(y)方法,其中y是指定的元素名稱
>>> classmates.remove(Bob)
>>> classmates
['Michael', 'Tracy']
要清空列表,可以使用clear()方法
>>> classmates.clear()
>>> classmates
None
要清空某個變量的內(nèi)存,解除變量對內(nèi)存的占用可以使用del方法
>>> del classmates[0]
>>> classmates
['Bob', 'Tracy']
要把某個元素替換成別的元素,可以直接賦值給對應的索引位置:
>>> classmates[1] = 'Sarah'
>>> classmates
['Michael', 'Sarah', 'Tracy']
獲取列表中單類元素的個數(shù),使用count()方法
>>>classmate.count('Bob')
1
sort()排序 可以為我們的列表做一個簡單的升序(從小到大)
>>>words=['a','z','e','b']
>>>words.sort()
>>>print(words)
['a','b','e','z']
reverse() 將列表逆序排列
>>>words=['a','z','e','b']
>>>words.reverse()
>>>print(words)
['b','e','z','a']
list里面的元素的數(shù)據(jù)類型也可以不同,比如:
>>> L = ['Apple', 123, True]
list元素也可以是另一個list,比如:
>>> s = ['python', 'java', ['asp', 'php'], 'scheme']
>>> len(s)
4
要注意s只有4個元素,其中s[2]又是一個list,如果拆開寫就更容易理解了:
>>> p = ['asp', 'php']
>>> s = ['python', 'java', p, 'scheme']
要拿到'php'可以寫p[1]或者s[2][1],因此s可以看成是一個二維數(shù)組,類似的還有三維、四維……數(shù)組,不過很少用到。
如果一個list中一個元素也沒有,就是一個空的list,它的長度為0:
>>> L = []
>>> len(L)
0
想要從列表中獲取多個項,怎么辦?可以使用list的切片操作。簡單來說:切片操作的作用是獲取列表中一個區(qū)間范圍的元素,例如想獲取的是下標從0~2的元素則是[0:2+1]
>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> print(classmates[0:3])
['Michael', 'Bob', 'Tracy']
列表切片的操作還支持設置步長,默認步長是1。如果步長為2,則跳過一個元素獲取一個元素。同理,步長為3,跳過兩個元素獲取一個元素
>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> print(classmates[0:3:2])
['Michael', 'Tracy']
如果列表過長,[0:]可以將整個列表的值全部獲取
>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> print(classmates[0:])
['Michael', 'Bob', 'Tracy']
當冒號右側(cè)的數(shù)值為負數(shù)時,如-1
則不獲取列表的最后一個元素,-2
就是兩個
>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> print(classmates[0:-2])
['Michael']
那么怎么從右往左獲取元素呢?這時可以將步長設置為負數(shù)如[2::-1]
>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> print(classmates[2::-1])
['Tracy','Bob','Michael']
什么是元組
元組被稱為只讀列表(即數(shù)據(jù)可以查詢,但不能被修改),使用()來定義,所以列表的切片操作同樣也適合元組
>>>a=(1,2,3,4)
>>>print(a)
(1, 2, 3, 4)
創(chuàng)建元組時,如果元組中只有一個元素的情況下,創(chuàng)建元組的方式:(1,)【注意加,】
元組的切片
>>>a=(1,2,3,4)
>>>print(a[0:3])
(1, 2, 3)