1. 程式人生 > >python List中的方法

python List中的方法

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']