python列表
列表(英文名 list),是由一系列元素按順序進行排列而成的容器。
這里面有兩個重點:
元素:沒有要求同一類型,所以可以是任意類型。
順序:按順序排列而成,說明列表是有序的。
在接下來的例子中,我會向你演示,列表的一些特性和常用的方法。
1. 創建列表
創建列表有兩種方法
第一種方法:先創建空列表實例,再往實例中添加元素
>>> phones = list() # 實例化
>>> phones.append("Apple") # 添加元素
>>> phones.append("Huawei") # 添加元素
>>> phones.append("Xiaomi") # 添加元素
>>> phones
['Apple', 'Huawei', 'Xiaomi']
第二種方法:直接定義列表,并填充元素。
>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> phones
['Apple', 'Huawei', 'Xiaomi']
很明顯,第二種最簡單直接,容易理解。并且經過測試,第二種的效率也比第一種的要高。因此推薦新手使用第二種。
2. 增刪改查
增刪改查:是 新增元素、刪除元素、修改元素、查看元素的簡寫。
由于,內容比較簡單,讓我們直接看演示
查看元素
使用 [i]
的方式查看第 i+1
個元素。例如 x 的起始值為 0 ,代表第一個元素。
>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> phones[0]
'Apple'
>>> phones[1]
'Huawei'
>>> phones[2]
'Xiaomi'
使用 index 方法,查看第一個值為 x 的索引。
>>> phones = ["Apple", "Huawei", "Xiaomi", "Huawei"]
>>> phones.index("Huawei")
1
使用 count 方法,查看該列表中有幾個值為 x
>>> phones = ["Apple", "Huawei", "Xiaomi", "Huawei"]
>>> phones.count("Huawei")
2
使用內置函數len()
,可以查看該列表中有幾個值
>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> len(phones)
3
新增元素
使用列表的 append 、insert、和 extend 方法
append 方法:將元素插入在列表的最后一個位置
>>> phones = []
>>> phones
[]
>>> phones.append("Apple")
>>> phones
['Apple']
>>> phones.append("Huawei") # append 后 Huawei 會在最后一個位置
>>> phones
['Apple', 'Huawei']
insert 方法:將元素插入在列表的指定的位置
>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> phones.insert(1, "OPPO") # 把 OPPO 插入到索引為 1 的位置
>>> phones
['Apple', 'OPPO', 'Huawei', 'Xiaomi']
extend:將一個新的列表直接連接在舊的列表后面
>>> 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 語句刪除元素
pop 方法:刪除指定位置的元素。默認刪除最后一個元素,并返回
>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> phones.pop() # 刪除最后一個元素
'Xiaomi'
>>> phones.pop(0) # 刪除索引為0的元素
'Apple'
>>> phones
['Huawei']
remove:刪除第一個值為 x 的元素。
>>> phones = ["Apple", "Huawei", "Xiaomi", "Huawei"]
>>> phones.remove("Huawei")
>>> phones
['Apple', 'Xiaomi', 'Huawei']
clear 方法:把所有的元素清空
>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> phones.clear()
>>> phones
[]
del 語句:清空列表,還有另一種方法
>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> del phones[:]
>>> phones
[]
使用 del 語句,還可以刪除某一個或者某幾個連續的元素。
>>> phones = ["Apple", "Huawei", "Xiaomi", "OPPO", "VIVO"]
>>> del phones[0] # 刪除索引為0的元素
>>> phones
['Huawei', 'Xiaomi', 'OPPO', 'VIVO']
>>>
>>> del phones[1:3] # 刪除索引在 [1:3) 區間內元素,注意是左閉右開區間
>>> phones
['Huawei', 'VIVO']
3. 列表反轉
列表反轉有兩種方法
第一種方法:使用自帶的 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]
這兩種方法,區別在于:
reverse 方法是原地反轉,作用在原對象上
切片反轉是返回一個新對象,原對象不改變
4. 列表排序
列表的排序同樣有兩種方法:
第一種方法:列表對象內置了 sort 方法,可方便我們對元素進行排序。
>>> alist = [4,8,1,7,2]
>>> alist.sort()
>>> alist
[1, 2, 4, 7, 8]
第二種方法:Python 有個內置的 sorted 函數,它不僅可用作列表的排序,后面我們還會學到 字典 等其他數據結構的排序也會用到它。
>>> alist = [4,8,1,7,2]
>>> sorted(alist)
[1, 2, 4, 7, 8]
不管用哪種方法,都要保證列表內的元素倆倆是可比較的。
比如,數值和數值是可比較的,字符串和字符串之間是可比較的。
但是數值和字符串是不可比較的,示例如下
>>> 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'
除了上面介紹的倆種之外,其實利用 sort 函數還可以實現自定義排序,這部分內容對于新手來說學習起來稍有點難度,且用到的場景也不多,因此這邊我就不介紹啦。
審核編輯:符乾江
-
函數
+關注
關注
3文章
4332瀏覽量
62656 -
python
+關注
關注
56文章
4797瀏覽量
84721
發布評論請先 登錄
相關推薦
評論