python List中的方法
阿新 • • 發佈:2018-12-06
python list列表的方法
list的方法繼承自common和mutable序列的操作,僅僅擴充了一個方法:sort()
1. aList.append(obj) --將obj新增到aList的末尾
alist = [1,2,3]
blist = [4,5,6]
alist.append(blist)
print(alist)
# 輸出結果可以發現,list作為alist的一個元素被新增到slist的末尾
[1, 2, 3, [4, 5, 6]]
2. aList.clear() --刪除aList的所有元素,並不刪除aList本身
aList = [1,2,3]
aList.clear()
print(aList)
[]
3. aList.count(obj) --返回與obj相等的元素
aList = [1,2,3,4,4,5]
aList.count(4)
2
4. aList.copy() 返回aList的副本,這是淺複製,即不會複製元素。
--淺複製即複製父物件,不會複製父物件的子物件;而深拷貝會複製父物件和子物件
5. aList.extend(sequence) --將序列新增到aList的末尾
aList = [1,2,3]
bList = [4,5,6]
aList.append( bList)
print(aList)
[1, 2, 3, [4, 5, 6]]
6. aList.index(obj) --返回第一個與obj相等元素的索引
7. aList.insert(index,obj) --如果index >=0,就等同於aList[index:index] = [obj];如果index<0,就將指定的物件加入到列表開頭。
8. aList.pop([index]) --刪除並返回指定索引處的元素,預設-1處的元素
aList = [1,2,3,4,5,6]
a = aList.pop()
print(a)
print(aList)
b = aList.pop(2) # 序號是從0開始的
print(b)
print(aList)
6
[1, 2, 3, 4, 5]
3
[1, 2, 4, 5]
9. aList.remove(obj) --刪除指定物件,等同於del[aList.index(obj)]
10. aList.reverse() --就地按相反的元素排列元素
aList = [1,2,3,4,5,6,7,8,9]
aList.reverse() #注意該函式沒有返回值,只是將aList倒置
print(aList)
[9, 8, 7, 6, 5, 4, 3, 2, 1]
11. aList.sort([cmp][,key][,reverse]) --就地對aList元素進行排序,該方法引數的功能與sorted一樣。
--sort和sorted方法的不同之處是sort不返回值,sorted方法是將要排序的物件傳入函式,返回一個排序後的新物件。
--sorted(iterable[,cmp][,key][,reverse])
- cmp – 是排序函式,python3已經棄用
- key – 設定用來排序的值
- reverse – 是否將排序結果反轉
students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
print(sorted(students, key=lambda s: s[2])) # 按年齡排序
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
print(sorted(students, key=lambda s: s[2],reverse=True)) # 按年齡排序
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
上面的例子中使用了lambda表示式,作用是建立一個匿名函式,lambda parameters: expression
,這個語法將被翻譯為:
def <lambda>(parameters):
return expression
sorted("This is a test string from Andrew".split(), key=str.lower)
['a', 'Andrew', 'from', 'is', 'string', 'test', 'This']