[導讀]列表是Python程序設計中使用最爲頻繁的數據類型。列表是程序中一組有序數據的集合,可以包含其他各種類型的數據以及它本身。<br\>列表的增刪改查操作以及操作的效率在程序設計中起到了至關重要的作用。
目錄[-]
聲明與創建
列表是Python程序設計中使用最爲頻繁的數據類型。列表是程序中一組有序數據的集合,可以包含其他各種類型的數據以及它本身。<br\>
- 列表的聲明與創建是使用逗號","把不同的數據項分割開來,並使用括號括起來就可以。同Java一樣,
字符串的默認索引值是從0開始。我們可以使用索引值增刪改查指定索引的數值。 - 列表的創建可以使用Python內置函數list來實現;list的作用是將一個序列轉換爲列表。
舉例說明:
#-*-coding:utf-8-*-
'''
Created on 2015年10月24日
@author: Administrator
'''
print "列表內置列表式定義:"
li=[1,2,3,[4,5]]
print li;
print "根據已有序列生成列表:"
msg="hello world"
li=list(msg);
print li;
訪問元素
- Python列表的訪問可以通過元素索引進行訪問,也可以使用切片方式進行訪問。
- 切片方式的語法爲L[[start]:[end][:step]]
- start可以不設定,默認爲0
- end可以不設定,默認爲最大索引值。也可以爲負數,表示最大索引值減去該負數的絕對值.
- step可以不設定,默認爲1;表示步長
#-*-coding:utf-8-*-
'''
Created on 2015年10月24日
@author: Administrator
'''
print "列表內置列表式定義:"
li=[1,2,3,[4,5]]
print li;
print "獲取索引2的元素:"
print li[2]
print "通過切片方式獲取元素:"
print "1-start不設定:"
print li[:3]
print "2-end不設定:"
print li[1:]
print "3-end爲負值:"
print li[1:-1]
print "2-step爲2:"
print li[::2]
通過切片訪問元素時時,索引值獲取的元素是半封閉的,只獲取到索引值爲[start,end)內的元素。
增加元素
增刪改查是列表不可或缺的操作,是列表的基礎,同時也是程序設計中必然涉及到的操作。元素的增加有以下幾種方式:
- 通過邏輯運算符"+"進行操作。
- 通過內置函數append,append的參數作爲新列表中的一個元素.
- 通過內置函數insert,insert的參數爲指定在指定的索引添加的數值.當索引值大於最大索引值時在最後添加該數值。
- 通過內置函數extend,extend 等價於"+"運算符
舉例說明:
#-*-coding:utf-8-*-
'''
Created on 2015年10月24日
@author: Administrator
'''
print "邏輯運算符+連接兩個列表:"
li=[1,2,3]+[4,5,6]
print li
print "使用內置方法append:"
li.append([7,8,9])
print li
print "使用內置方法insert:"
li.insert(100,9)
print li
print "使用內置方法extend:"
li.extend([1,2,3])
print li
刪除元素
刪除元素是將列表中的某個元素或某些元素刪除。元素的刪除有以下幾種方式:
- 使用內置方法del按照元素的索引刪除某個元素
- 使用內置方法del刪除方括號截取的某些元素。
- 使用內置方法remove按照元素的值刪除某個元素。
- 使用內置方法pop按照元素的索引刪除某個元素並返回該元素的值;若不給定元素的索引,默認刪除最後一個元素.
舉例說明:
#-*-coding:utf-8-*-
'''
Created on 2015年10月24日
@author: Administrator
'''
print "邏輯運算符+連接兩個列表:"
li=[0,1,2,3,4,5,6,7,8,9]
print li
print "刪除第3個元素:"
del li[3]
print li
li=[0,1,2,3,4,5,6,7,8,9]
print "刪除第4到第7個元素:"
del li[4:8]
print li
li=[0,1,2,3,4,5,6,7,8,9]
print "刪除值爲8的元素:"
li.remove(8)
print li
li=[0,1,2,3,4,5,6,7,8,9]
print "使用pop方法:"
li.pop(4)
print li
li.pop()
print li
修改元素
修改元素的值可以修改某個元素,也可以修改某些元素。
- 按照元素的索引值修改某個元素的值
- 根據切片修改某一些元素的值,原理和上面的一直
舉例說明:
#-*-coding:utf-8-*-
'''
Created on 2015年10月24日
@author: Administrator
'''
li=[0,1,2,3,4,5]
print "修改所以值爲3的元素的值:"
li[3]=10
print li
li=[0,1,2,3,4,5]
print "修改【2,5)的值:"
li[2:5]=[100,200]
print li
查找元素
查找元素一般用於判斷或者統計某個元素的出現次數,再或者某個元素的索引值。下面我們來一一學習者幾種情況:
- 判斷某個值是否是列表的元素:使用關鍵字in/not in
- 統計某個值出現的次數,使用內置函數count
- 查找某個元素的索引值,使用內置函數index
舉例說明:
#-*-coding:utf-8-*-
'''
Created on 2015年10月24日
@author: Administrator
'''
li=[0,1,2,3,4,5,1,4]
print "判斷值3是否在列表中:"
print 3 in li
print "判斷值10是否在列表中:"
print 10 in li
print "4出現的次數:"
print li.count(4)
print "10出現的次數:"
print li.count(10)
print "4的索引值:"
print li.index(4)
#值4不存在於列表中,程序拋出ValueError
#print li.index(10)
其他操作
- 清空列表:1)直接置空:li=[] 2)內置函數del li[[start]:[end]]
- 賦值列表:1)li2=li[:]
- 列表長度:len(li)
- 便利列表:
- 直接for循環:for value in list
- 遍歷索引值:for index,value in enumerate(list)