列表 []
列表是最常用的Python數(shù)據(jù)類型,創(chuàng)建一個列表,只要把逗號分隔的不同的數(shù)據(jù)項使用方括號括起來即可。
列表的數(shù)據(jù)項不需要具有相同的類型
(相關資料圖)
eg:? ? list1 = ['physics', 'chemistry', 1997, 2000]
列表索引從0開始,第二個索引是1,依此類推。
訪問列表中的值
使用下標索引來訪問列表中的值:
print "list1[0]: ", list1[0]? ---輸出??physics
也可以使用方括號的形式截取字符:
print "list1[1:3]: ", list2[1:3]? ??---輸出??chemistry,1997
更新列表
1,可以使用append()方法來添加列表項:
list.append('Google') ? ## 使用 append() 向列表尾部添加一個新元素
2,extend()函數(shù)可以用新列表擴展原來的列表。
aList = [123, 'xyz', 'zara', 'abc', 123]
bList = [2009, 'manni']
aList.extend(bList)
print "Extended List : ", aList ;
--- 輸出??Extended List : ?[123, 'xyz', 'zara', 'abc', 123, 2009, 'manni']
3,insert()函數(shù)用于向Python列表中指定位置添加一個元素。
函數(shù)用法list.insert(index, item_value)
index:要插入列表中的位置? ? value:要插入的元素的值
4,+與+=功能實際上生成了一個新的列表來存放這兩個列表的和。
注意:使用拼接操作符 +擴展列表 加號兩邊類型必須一致
刪除列表元素
1,remove()移除列表中某個值的第一個匹配項。如果參數(shù)不存在會報錯
aList = [123, 'xyz', 'zara', 'abc', 'xyz']
aList.remove('xyz')
2,pop()移除列表中的一個元素(默認最后一個元素),并且返回該元素的值
list.pop([index=-1])
可選參數(shù),要移除列表元素的索引值,不能超過列表總長度,默認為 index=-1,刪除最后一個列表值。
list1 = ['Google', 'Runoob', 'Taobao']
list_pop=list1.pop(1)
刪除的項為 : Runoob
列表現(xiàn)在為 : ?['Google', 'Taobao']
3,del ()刪除列表中對應索引位置的元素:
list1 = ['physics', 'chemistry', 1997, 2000]?
del list1[2]
del 列表名稱,會刪除整個列表
更換位置
member=【“小布丁”,“黑夜”,【1,2,3】】
temp=member【0】
member【0】= member【1】
member【1】=temp
Python列表腳本操作符
列表對 + 和 * 的操作符與字符串相似。+ 號用于組合列表,* 號用于重復列表。
如下所示:
Python 表達式? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 結果? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 描述
len([1, 2, 3])? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?長度
[1, 2, 3] + [4, 5, 6]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[1, 2, 3, 4, 5, 6]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?組合
['Hi!'] * 4? ?或者['Hi!']?*=4? ? ? ? ? ? ? ?? ['Hi!', 'Hi!', 'Hi!', 'Hi!']? ? ? ? ? ? ? ? ? ? ? ? ? ? 重復
3 in [1, 2, 3]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?True? ? ? ? ? ? ? ? ? ? ? ? ? ?元素是否存在于列表中
for x in [1, 2, 3]: print x? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1 2 3? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?迭代
in
not in? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?還可以判斷具體索引位置 “小布丁” in member【0】
slice 切片
Python 列表支持以下切片語法,可以從一個列表中返回子列表:
sub_list =list[begin: end: step]
在以上語法中,begin、end 以及 step 參數(shù)都必須是有效的下標,而且它們都是可選參數(shù)。begin 下標默認為 0,end 下標默認為列表的長度,step 下標默認為 1。
切片操作返回的子列表從 begin(包含)下標開始到 end(不包含)下標結束,下標每次增長 step。
begin、end 以及 step 可以為正數(shù)或者負數(shù)。正數(shù)表示切片操作從左至右返回子列表,負數(shù)表示切片操作從右至左返回子列表。
member【1:3】前含后不含。
不寫表示最前或最后
前后都不寫 得到列表的拷貝?
區(qū)別于=賦值
切片不會隨著原來的改變,是淺復制,指向的內存地址不一樣,對一個列表做修改,也不改變另一個列表。
如果list8=list6,指向同一內存塊,其中一個列表改變,另一個列表也會隨之改變。二者可以視為同一個對象。
列表比大小
比較原理
從第一個元素順序開始比較,如果相等,則繼續(xù),返回第一個不相等元素得比較結果。如果所有元素比較均相等,則長的列表大,一樣長則兩列表相等。
Python列表函數(shù)&方法
Python包含以下函數(shù):
1??cmp(list1, list2)比較兩個列表的元素
2??len(list)列表元素個數(shù)
3??max(list)返回列表元素最大值
4??min(list)返回列表元素最小值
5??list(seq)將元組轉換為列表
Python包含以下方法:(列表內置方法 用點.??表示范圍)
1??list.append(obj)在列表末尾添加新的對象
2??list.count(obj)統(tǒng)計某個元素在列表中出現(xiàn)的次數(shù)
3??list.extend(seq)在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表)
4??list.index(obj)從列表中找出某個值第一個匹配項的索引位置,
返回元素在列表中的位置索引,可以加查找范圍
5??list.insert(index, obj)將對象插入列表
6??list.pop([index=-1])移除列表中的一個元素(默認最后一個元素),并且返回該元素的值
7??list.remove(obj)移除列表中某個值的第一個匹配項
8??list.reverse()用于反向列表中的元素 原地翻轉
9??list.sort(cmp=None, key=None, reverse=False)對原列表進行排序?默認從小到大排序
sort(reverse=true) 可以添加參數(shù),從大到小排
關鍵詞: