Python - list 列表常見方法

小菠蘿測試筆記 發表於 2021-07-26
Python

list.append(x)

介紹

  • 在列表的末尾新增一個元素
  • 相當於  a[len(a):] = [x] 

 

返回值

None

 

栗子

# append
a = [1, 2, 3]
b = [4, 5, 6]

print(a.append(1))
print(a)

a.append(b)
print(a)


# 輸出結果
None
[1, 2, 3, 1]
[1, 2, 3, 1, [4, 5, 6]]

a.append(b) 會將整個列表當做一個元素新增進去哦

 

list.extend(iterable)

介紹

  • 使用可迭代物件中的所有元素來擴充套件列表
  • 粗俗點:在列表後面接另一個列表
  • 相當於  a[len(a):] = iterable  

 

返回值

None

 

栗子

# extend
a = [1, 2, 3]
b = [4, 5, 6]

print(a.extend([]))
print(a)

a.extend(b)
print(a)

a = [1, 2, 3]
b = [4, 5, 6]

print(a + b)


# 輸出結果
None
[1, 2, 3]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]

 extend() 有點像列表相加,但還是有區別的

 

a.extend(b) 和 a+b 的區別

 

list.insert(i, x)

介紹

  • 在給定的位置插入一個元素
  • i:是要插入的元素的索引
  • x:插入的元素值
  •  a.insert(0, x) 插入列表首位
  •  a.insert(len(a), x)  等同於  a.append(x) 

 

返回值

None

 

栗子

# insert
a = [1, 2, 3]
print(a.insert(0, 0))
print(a)

b = [4, 5, 6]
a.insert(999, b)
print(a)


# 輸出結果
None
[0, 1, 2, 3]
[0, 1, 2, 3, [4, 5, 6]]

如果 i 值大於列表長度,那麼就會在列表末尾新增元素

 

list.remove(x)

介紹

  • 移除列表中第一個值為 x 的元素
  • 如果沒有這樣的元素,則丟擲 ValueError 異常

 

返回值

None 

 

栗子

# remove
a = [1, 2, 3, 1]
print(a.remove(1))
print(a)

a.remove(4)


# 輸出結果
None
[2, 3, 1]
Traceback (most recent call last):
    a.remove(4)
ValueError: list.remove(x): x not in list

 

list.pop([i])

介紹

  • 刪除列表中指定位置的元素並返回
  • 如果沒有指定位置,a.pop() 將會刪除並返回列表中的最後一個元素
  • [i] 代表引數 i 是可選的,不是必填的,不是讓你傳 [1] 、[2] 這種引數

 

返回值

被刪除的元素值

 

栗子

# pop
a = [1, 2, 3, 4]
print(a.pop(3))
print(a)

a.pop()
print(a)

a.pop(1)
print(a)


# 輸出結果
4
[1, 2, 3]
[1, 2]
[1]

 

list.clear()

介紹

  • 移除列表中的所有元素
  • 等價於 del a[:] 

 

返回值

None

 

栗子

# clear
a = [1, 2, 3, 4]
print(a.clear())
print(a)


# 輸出結果
None
[]

 

list.index(x[, start[, end]])

介紹

  • 返回列表中第一個值為 x 的元素的索引
  • 如果沒有這樣的元素將會丟擲 ValueError 異常
  • 可選引數 start 和 end 是切片符號,用於將搜尋限制為列表的特定子序列
  • 返回的索引是相對於整個序列的開始計算的,而不是 start 引數

 

返回值

索引值

 

栗子

# index
a = [1, 2, 3, 4]
print(a.index(2))
print(a.index(1, 0, 2))
print(a.index(33))


# 輸出結果
1
0
Traceback (most recent call last):
    print(a.index(33))
ValueError: 33 is not in list

 

list.count(x)

介紹

返回元素 x 在列表中出現的次數

 

返回值

次數

 

栗子

# count
a = [1, 2, 1, 4]
print(a.count(1))
print(a.count(3))


# 輸出結果
2
0

 

list.sort(*, key=None, reverse=False)

介紹

對列表中的元素進行排序(引數可用於自定義排序

 

返回值

None

 

栗子

# sort
a = [4, 3, 2, 1]
print(a.sort())
print(a)

a.sort(reverse=True)
print(a)


# 輸出結果
None
[1, 2, 3, 4]
[4, 3, 2, 1]

 

list.reverse()

介紹

翻轉列表中的元素

 

返回值

None

 

栗子

# reverse()
a = [1, 2, 3, 4]
print(a.reverse())
print(a)


# 輸出結果
None
[4, 3, 2, 1]

 

list.copy()

介紹

  • 返回列表的一個淺拷貝
  • 等價於 a[:] 

 

返回值

原來的列表

 

栗子 

# copy
a = [1, 2, 3, [1, 2, 3]]
print(a.copy())

b = a.copy()
a[1] = 11
print(a)
print(b)
a[3][2] = 22
print(a)
print(b)


# 輸出結果
[1, 2, 3, [1, 2, 3]]
[1, 11, 3, [1, 2, 3]]
[1, 2, 3, [1, 2, 3]]
[1, 11, 3, [1, 2, 22]]
[1, 2, 3, [1, 2, 22]]

可以從結果看出,的確是淺拷貝