1. 程式人生 > >Python列表函式和方法

Python列表函式和方法

列表:

把逗號分隔的不同的資料項使用方括號括起來。
列表生成式:
把要生成的元素放到前面,後面跟for迴圈,就可以把list創建出來。

list1=[i+1 for i in range(0,10,2)]
print list1

for迴圈後面還可以加上if判斷:
str1 = ['Hello', 'SGZ', 6, 'morning~', None,'cheer up~']
str2 = []
str2=[s for s in str1 if isinstance(s,str)]   #列表生成式
print(str2)

isinstance(s,str)判斷s是否是字串型別

列表的函式:

len(list)
返回列表元素個數
max(list)
返回列表元素中的最大值
min(list)
返回列表元素中的最小值
list(seq)
將元組轉換為列表

enumerate(list)

把一個list變成索引-元素對   index,value=enumerate(list)

注:元組與列表是非常類似的,區別在於元組的元素值不能修改,元組是放在( )中,列表是放於[ ]中。

列表的方法:

list.append(obj)
在列表末尾新增新的物件。該方法無返回值,但會修改原來的列表。
list.count(obj)
統計某個元素在列表中出現的次數。返回元素在列表中出現的次數。
list.extend(seq)
在列表末尾一次性追加另一個序列中的多個值(用新列表擴充套件原來的列表)。該方法沒有返回值,但會在已存在的列表中新增新的列表內容。
list.index(obj)
從列表中找出某個值第一個匹配項的索引位置。該方法返回查詢物件的索引位置,如果沒有找到物件則丟擲異常。
list.insert(index, obj)
將指定物件插入列表的指定位置。index -- 物件obj需要插入的索引位置。obj -- 要插入列表中的物件。
list.pop(obj=list[-1])
移除列表中的一個元素(預設最後一個元素),並且返回該元素的值。obj -- 可選引數,要移除列表元素的物件。
list.remove(obj)
移除列表中某個值的第一個匹配項
list.reverse()
反向列表中元素。該方法沒有返回值,但是會對列表的元素進行反向排序。
list.sort([func])
對原列表進行排序。func -- 可選引數, 如果指定了該引數會使用該引數的方法進行排序。
list.clear()
清空列表
list.copy()
複製列表

cmp(list1,list2):
當list1>list2時,函式返回1
當list1=list2時,函式返回0
當list1<list2時,函式返回-1
比較過程是這樣的:
首先比較兩個列表中的第一下元素,如果第一個元素不相同,那麼第一個元素大的列表大。函式返回相應值(1、0、-1之間),並結束比較。如果第一個元素相同,則開始比較第二個元素,如果第二個元素不相同,那麼第二個元素大的列表為大。函式返回相應值(同上),並結束比較。如果第二個元素相同,則開始比較第三個元素...以此類推。

注意下列這種情況:
list1=['a','b','c']
list2=['a','b',['c']]

cmp(list1,list2)返回值為1