python列表
列表(英文名 list),是由一系列元素按順序進(jìn)行排列而成的容器。
這里面有兩個(gè)重點(diǎn):
元素:沒(méi)有要求同一類(lèi)型,所以可以是任意類(lèi)型。
順序:按順序排列而成,說(shuō)明列表是有序的。
在接下來(lái)的例子中,我會(huì)向你演示,列表的一些特性和常用的方法。
1. 創(chuàng)建列表
創(chuàng)建列表有兩種方法
第一種方法:先創(chuàng)建空列表實(shí)例,再往實(shí)例中添加元素
>>> phones = list() # 實(shí)例化
>>> phones.append("Apple") # 添加元素
>>> phones.append("Huawei") # 添加元素
>>> phones.append("Xiaomi") # 添加元素
>>> phones
['Apple', 'Huawei', 'Xiaomi']
第二種方法:直接定義列表,并填充元素。
>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> phones
['Apple', 'Huawei', 'Xiaomi']
很明顯,第二種最簡(jiǎn)單直接,容易理解。并且經(jīng)過(guò)測(cè)試,第二種的效率也比第一種的要高。因此推薦新手使用第二種。
2. 增刪改查
增刪改查:是 新增元素、刪除元素、修改元素、查看元素的簡(jiǎn)寫(xiě)。
由于,內(nèi)容比較簡(jiǎn)單,讓我們直接看演示
查看元素
使用 [i]
的方式查看第 i+1
個(gè)元素。例如 x 的起始值為 0 ,代表第一個(gè)元素。
>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> phones[0]
'Apple'
>>> phones[1]
'Huawei'
>>> phones[2]
'Xiaomi'
使用 index 方法,查看第一個(gè)值為 x 的索引。
>>> phones = ["Apple", "Huawei", "Xiaomi", "Huawei"]
>>> phones.index("Huawei")
1
使用 count 方法,查看該列表中有幾個(gè)值為 x
>>> phones = ["Apple", "Huawei", "Xiaomi", "Huawei"]
>>> phones.count("Huawei")
2
使用內(nèi)置函數(shù)len()
,可以查看該列表中有幾個(gè)值
>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> len(phones)
3
新增元素
使用列表的 append 、insert、和 extend 方法
append 方法:將元素插入在列表的最后一個(gè)位置
>>> phones = []
>>> phones
[]
>>> phones.append("Apple")
>>> phones
['Apple']
>>> phones.append("Huawei") # append 后 Huawei 會(huì)在最后一個(gè)位置
>>> phones
['Apple', 'Huawei']
insert 方法:將元素插入在列表的指定的位置
>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> phones.insert(1, "OPPO") # 把 OPPO 插入到索引為 1 的位置
>>> phones
['Apple', 'OPPO', 'Huawei', 'Xiaomi']
extend:將一個(gè)新的列表直接連接在舊的列表后面
>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> new_phones = ["OPPO", "VIVO"]
>>> phones.extend(new_phones)
>>> phones
['Apple', 'Huawei', 'Xiaomi', 'OPPO', 'VIVO']
修改元素
直接使用 list[x]=new_item
的方法直接替換
>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> phones[1] = "OPPO"
>>> phones
['Apple', 'OPPO', 'Xiaomi']
刪除元素
使用 pop ,remove 、clear 方法或者 del 語(yǔ)句刪除元素
pop 方法:刪除指定位置的元素。默認(rèn)刪除最后一個(gè)元素,并返回
>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> phones.pop() # 刪除最后一個(gè)元素
'Xiaomi'
>>> phones.pop(0) # 刪除索引為0的元素
'Apple'
>>> phones
['Huawei']
remove:刪除第一個(gè)值為 x 的元素。
>>> phones = ["Apple", "Huawei", "Xiaomi", "Huawei"]
>>> phones.remove("Huawei")
>>> phones
['Apple', 'Xiaomi', 'Huawei']
clear 方法:把所有的元素清空
>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> phones.clear()
>>> phones
[]
del 語(yǔ)句:清空列表,還有另一種方法
>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> del phones[:]
>>> phones
[]
使用 del 語(yǔ)句,還可以刪除某一個(gè)或者某幾個(gè)連續(xù)的元素。
>>> phones = ["Apple", "Huawei", "Xiaomi", "OPPO", "VIVO"]
>>> del phones[0] # 刪除索引為0的元素
>>> phones
['Huawei', 'Xiaomi', 'OPPO', 'VIVO']
>>>
>>> del phones[1:3] # 刪除索引在 [1:3) 區(qū)間內(nèi)元素,注意是左閉右開(kāi)區(qū)間
>>> phones
['Huawei', 'VIVO']
3. 列表反轉(zhuǎn)
列表反轉(zhuǎn)有兩種方法
第一種方法:使用自帶的 reverse 方法
>>> nums = [1,2,3,4,5]
>>> nums.reverse()
>>> nums
[5, 4, 3, 2, 1]
第二種方法:使用切片的方法
>>> nums = [1,2,3,4,5]
>>> nums[::-1]
[5, 4, 3, 2, 1]
這兩種方法,區(qū)別在于:
reverse 方法是原地反轉(zhuǎn),作用在原對(duì)象上
切片反轉(zhuǎn)是返回一個(gè)新對(duì)象,原對(duì)象不改變
4. 列表排序
列表的排序同樣有兩種方法:
第一種方法:列表對(duì)象內(nèi)置了 sort 方法,可方便我們對(duì)元素進(jìn)行排序。
>>> alist = [4,8,1,7,2]
>>> alist.sort()
>>> alist
[1, 2, 4, 7, 8]
第二種方法:Python 有個(gè)內(nèi)置的 sorted 函數(shù),它不僅可用作列表的排序,后面我們還會(huì)學(xué)到 字典 等其他數(shù)據(jù)結(jié)構(gòu)的排序也會(huì)用到它。
>>> alist = [4,8,1,7,2]
>>> sorted(alist)
[1, 2, 4, 7, 8]
不管用哪種方法,都要保證列表內(nèi)的元素倆倆是可比較的。
比如,數(shù)值和數(shù)值是可比較的,字符串和字符串之間是可比較的。
但是數(shù)值和字符串是不可比較的,示例如下
>>> alist = [9,3,1,"d","k","a"]
>>> alist.sort()
Traceback (most recent call last):
File "", line 1, in
TypeError: '<' not supported between instances of 'str' and 'int'
除了上面介紹的倆種之外,其實(shí)利用 sort 函數(shù)還可以實(shí)現(xiàn)自定義排序,這部分內(nèi)容對(duì)于新手來(lái)說(shuō)學(xué)習(xí)起來(lái)稍有點(diǎn)難度,且用到的場(chǎng)景也不多,因此這邊我就不介紹啦。
審核編輯:符乾江
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4307瀏覽量
62434 -
python
+關(guān)注
關(guān)注
56文章
4782瀏覽量
84464
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論