Python基礎知識(6):基本數據類型之列表 在Python中,最基本的數據結構是序列。序列中的每個元素被分配一個序號——即元素的位置,也稱為索引。第一個索引從0開始,如果要從右邊開始,序列中的最後一個元素標記為-1,倒數第二個標記為-2,以此類推。Python包含6種內建序列:字元串、列表、元組 ...
Python基礎知識(6):基本數據類型之列表
在Python中,最基本的數據結構是序列。序列中的每個元素被分配一個序號——即元素的位置,也稱為索引。第一個索引從0開始,如果要從右邊開始,序列中的最後一個元素標記為-1,倒數第二個標記為-2,以此類推。Python包含6種內建序列:字元串、列表、元組、Unicode字元串、buffer對象、xrange對象。
1、列表中的元素用括弧括起來,中間用逗號隔開
如[1,12,"age","Alice"]
2、列表中的元素可以是數字、字元串、列表、布爾值等
tag=[1,12,"mike",[3,6],True]
3、列表中的元素可以被修改
元素賦值
x=[1,2,3] x[1]=7 x
結果:[1, 7, 3]
4、列表可以通過索引獲取元素
tag=[1,12,"mike",[3,6],True] tag[0:3]
結果:[3, 6]
5、分片
列表也有分片操作,通過兩個索引來實現
tag=[1,12,"mike",[3,6],True] tag[0:3]
結果:
[1, 12, 'mike']
進行分片是需要指點開始和結束點,同時可以自己設置步長,預設步長為1;步長可以是負數,這時分片會從右邊開始
num=[1,2,3,4,5,6,7,8,9,10]
num[0:10:3]
結果:
[1, 4, 7, 10]
註:可以通過分片進行元素賦值和刪除元素
6、序列相加
通過加運算符進行序列連接
[1,2,3]+[4,5]的結果為[1,2,3,4,5]
7、乘法
數字乘以一個序列會生成新的序列
["fly"] * 5
結果:
['fly', 'fly', 'fly', 'fly', 'fly']
8、成員資格
要檢查一個序列是否在序列中,可以用in運算符
name=["Alice","Bob","Charle"] "Bob" in name
結果:True
9、刪除元素
使用del語句刪除函數
name=["Alice","Bob","Charle"] del name[1] name
結果:
['Alice', 'Charle']
10、列表方法
方法可以這樣進行調用:
對象.方法(參數)
(1)append:在列表末尾追加一個元素
num=[1,2,3,4,5,6,7,8,9,10] num.append(19) num
結果:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 19]
(2)count:統計某個元素在列表中出現的次數
x=[1,3,[1,5],1,[2,1,[1,1]],4]
x.count(1)
結果:2
(3)extend:在列表末尾追加一個列表
a=[1,2,3] b=[7,8] a.extend(b) a
結果:
[1, 2, 3, 7, 8]
(4)index:在列表中找到與某個值匹配的第一個匹配項的索引位置
sen=["Something","just","like","this"] sen.index("like")
結果:4
(5)insert:將元素插入到列表中
num=[1, 2, 3, 7, 8] num.insert(3,"four") num
結果:
[1, 2, 3, 'four', 7, 8]
註:可以通過分片賦值實現插入操作
(6)pop:移除列表中的某個元素並返回該元素的值,預設移除最後一個元素
num=[1, 2, 3, 7, 8]
num.pop()
結果:8
(7)remove:移除列表中與某個值匹配的第一個匹配項
sen=["to","be","or","not","to","be"] sen.remove("to") sen
結果:
['be', 'or', 'not', 'to', 'be']
(8)reserve:把列表中的元素反向存放
num=[1, 2, 3, 'four', 7, 8] num.reverse() num
結果:
[8, 7, 'four', 3, 2, 1]
(9)sort:對列表進行排序
x=[7,3,4,1,8]
x.sort()
x
結果:
[1, 3, 4, 7, 8]
註:sort可以調用reverse()方法使列表反向排序
x=[7,3,4,1,8] x.sort(reverse=True) x
結果:
[8, 7, 4, 3, 1]