5.列表 列表是實際應用非常多的一種數據類型,需要好好掌握。列表的主要特性如下所示: 1.支持增加、修改和刪除元素操作 2.列表的長度是可變的 3.列表支持排序 5.1 索引與切片 列表中索引是從0開始,且支持正向和反向兩種索引方式。如下所示: a=[1,2,"abc",[4,5,6],{"a":7 ...
5.列表
列表是實際應用非常多的一種數據類型,需要好好掌握。列表的主要特性如下所示:
- 1.支持增加、修改和刪除元素操作
- 2.列表的長度是可變的
- 3.列表支持排序
5.1 索引與切片
列表中索引是從0開始,且支持正向和反向兩種索引方式。如下所示:
a=[1,2,"abc",[4,5,6],{"a":7,"b":8},(10,20)]
print(f"取出列表中第1個元素:{a[0]}")
print(f"取出列表中元素類型為列表的元素:{a[3]}")
print(f"取出列表第2到第4個元素:{a[2:5]}")
輸出結果如下所示:
取出列表中第1個元素:1
取出列表中元素類型為列表的元素:[4, 5, 6]
取出列表第2到第4個元素:['abc', [4, 5, 6], {'a': 7, 'b': 8}]
5.2 修改元素
修改列表的元素其實非常簡單,示例代碼如下所示:
a=[1,2]
a[0]=100
print(a)
輸出結果如下所示:
[100, 2]
5.3 常用方法
- append():在列表末尾追加元素
- insert():在指定索引位置中添加元素
- del:刪除元素(物理刪除)
- pop():刪除元素(邏輯刪除),類似於棧彈出元素
- remove():根據值刪除元素
- sort():對列表進行永久性排序,常用形式為list.sort()
- sorted()對列表進行臨時性排序,常用形式為sorted(list)
- reverse():倒序輸出列表
- extend():向一個列表添加列表
- len():獲取列表的長度
- clear():清空列表元素,保留空列表
- index():獲取指定元素在列表的索引位置
- count():統計列表中元素的出現次數
示例代碼如下所示:
a=[1,2]
b=[3,4,5]
c=[9,0,10,12]
d=[9,0,10,12]
# 列表追加元素:
a.append(100)
# 列表插入元素
a.insert(1,999)
# 刪除元素,這種刪除需要事先知道索引,刪除之後無法再進行訪問
del a[-1]
# 刪除元素,將元素刪除後,仍然可以其刪除的值,pop如果不填寫索引,則預設刪除末尾的元素
popValueA=a.pop()
popValueB=a.pop(0)
print(f"{a} {popValueA} {popValueB}")
# 對列表進行永久排序
print(f"列表進行永久性排序,排序前:{c}")
c.sort()
print(f"列表進行永久性排序,排序後:{c}")
# 對列表進行臨時排序
print(f"列表進行臨時性排序,排序前:{d}")
sorted(d)
print(f"列表進行臨時性排序,排序後:{d}")
d.reverse()
print(f"列表倒序輸出:{d}")
a.extend(d)
print(f"向列表中添加列表:{a}")
print(f"獲取列表的長度:{len(a)}")
a.clear()
print(f"清空列表,僅保留空列表:{a}")
print(f"獲取指定元素在列表的索引:{d.index(9)}")
print(f"統計元素在列表中出現的次數:{d.count(9)}")
輸出結果如下所示:
[999] 2 1
列表進行永久性排序,排序前:[9, 0, 10, 12]
列表進行永久性排序,排序後:[0, 9, 10, 12]
列表進行臨時性排序,排序前:[9, 0, 10, 12]
列表進行臨時性排序,排序後:[9, 0, 10, 12]
列表倒序輸出:[12, 10, 0, 9]
向列表中添加列表:[999, 12, 10, 0, 9]
獲取列表的長度:5
清空列表,僅保留空列表:[]
獲取指定元素在列表的索引:3
統計元素在列表中出現的次數:1
5.4 列表拼接:
元組拼接有兩種方式:
- +:首尾拼接
- *:複製拼接
示例代碼如下所示:
a=[1,2]
b=[3,4,5]
print(f"列表首尾拼接:{a+b}")
print(f"複製拼接:{b*3}")
輸出結果如下所示:
列表首尾拼接:[1, 2, 3, 4, 5]
複製拼接:[3, 4, 5, 3, 4, 5, 3, 4, 5]
5.5 轉換數據類型
使用list()和tuple()函數可以方便在列表和元組中轉換數據類型,如下所示:
a=[1,2]
c=(3,4,5)
print(f"列表轉換為元組:{tuple(a)}")
print(f"元組轉換為列表:{list(c)}")
輸出結果如下所示:
列表轉換為元組:(1, 2)
元組轉換為列表:[3, 4, 5]
5.6 優缺點
- 優點:靈活好用,可索引、可切片、可更改、可附加、可插入、可刪除
- 缺點:相比元組創建和遍歷速度慢,占記憶體。此外查找和插入時間較慢。
本文同步在微信訂閱號上發佈,如各位小伙伴們喜歡我的文章,也可以關註我的微信訂閱號:woaitest,或掃描下麵的二維碼添加關註: