Python中最重要的數據結構就是序列,其中最經常使用到的是列表,元組,和字符串。python
列表有別於元組和字符串的一個很特別且重要的地方就是:列表是可變的。數組
1、建立列表數據結構
建立列表一般有兩種方式:app
list1 = list(); list2 = [];
## 經過以上兩條語句,均可以建立空列表
list() 在這裏其實是一種類型,相似於類型的構造函數,其中能夠添加建立列表的初始化值,例如:函數
list('Hello'); ## 此條語句建立的列表以下 ['H', 'e', 'l', 'l', 'o'], 注意:list的參數只能有一個
2、列表的基本操做spa
列表的基本操做:code
(1)對元素進行增,刪,查,改;對象
(2)獲取列表中某個元素出現的次數;blog
(3)修改列表中元素的順序。排序
一、增刪改查
增長元素的操做:
append(): 在列表末尾追加新的對象
extend( ):在列表末尾一次性追加另外一個序列中的多個值
insert( ):將對象插入到列表中
list1 = [1, 2, 3]; list2 = [2, 3, 5, 6]; list1.append(4); # The result of list1 is : [1, 2, 3, 4] list1.extend(list2[1:3]); # The result of list1 is : [1, 2, 3, 4, 3, 5] list1.insert(3, 'four'); # The result of list1 is : [1, 2, 3, 'four', 4, 3, 5]
刪除元素的操做有:
del 語句:del語句除了能夠刪除列表中的元素,還能夠刪除其餘元素
pop(): 移除列表中的一個元素,默認狀況下是最後一個元素,而且返回該元素的值
remove(): 移除列表中,某個值的,第一個匹配項
del list1[3]; # list1: [1, 2, 3, 4, 3, 5] list1.pop(); # list1: [1, 2, 3, 4, 3] val = list1.pop(0); # val: 1 # list1: [2, 3, 4, 3] list1.remove(3); # list1: [2, 4, 3]
查找元素的操做:
[]: greeting[0],和C語言中的數組操做同樣,在中括號中傳遞元素索引值來獲取相應的元素 (用索引值來獲取元素值)
index(): 在列表中找出某個值第一個匹配項的索引位置,返回元素索引值 (用元素值獲取對應的第一個索引值)
print(list1[0]); # 2 list1.index(4); # 1
修改元素的操做:
list1[0] = 1 # list1: [1, 4, 3]
二、獲取列表中某個元素的出現次數
list1 = [1, 2, 1, 2, 1, 1]; list1.count(1); # 4
list2 = [[1,2], 3, 3,];
list2.count([1,2]);
# 1
三、修改列表中元素的順序
sort(): 在原位置對列表進行排序,此操做會改變列表並返回空值,參數能夠是一個排序函數
reverse(): 將列表中的元素反向存放,此操做會改變列表,可是沒有返回值
list3 = [4, 3, 2, 1]; list3.sort(); # list3: [1, 2, 3, 4] list3.reverse(); # list3: [4, 3, 2, 1]
list3.sort(reverse=True);
# list3: [4, 3, 2, 1] list3.sort(cmp); # list3: [1, 2, 3, 4]
*注意:cmp是Python中的內建函數,提供了sort的比較函數的默認實現方式