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 優缺點
- 優點:靈活好用,可索引、可切片、可更改、可附加、可插入、可洗掉
- 缺點:相比元組創建和遍歷速度慢,占記憶體,此外查找和插入時間較慢,
本文地址:https://www.cnblogs.com/surpassme/p/12961609.html
本文同步在微信訂閱號上發布,如各位小伙伴們喜歡我的文章,也可以關注我的微信訂閱號:woaitest,或掃描下面的二維碼添加關注:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/143497.html
標籤:Python
