1. ホーム
  2. python

[解決済み] リストにおけるdel、remove、popの違いについて

2022-03-17 12:36:54

質問

>>> a=[1,2,3]
>>> a.remove(2)
>>> a
[1, 3]
>>> a=[1,2,3]
>>> del a[1]
>>> a
[1, 3]
>>> a= [1,2,3]
>>> a.pop(1)
2
>>> a
[1, 3]
>>> 

リストから要素を削除する方法として、上記の3つの方法の間に違いはありますか?

どのように解決するのですか?

リストから要素を削除する3つの異なる方法の効果。

remove を削除します。 最初 マッチング であり、特定のインデックスではない。

>>> a = [0, 2, 3, 2]
>>> a.remove(2)
>>> a
[0, 3, 2]

del は、特定のインデックスにある項目を削除します。

>>> a = [9, 8, 7, 6]
>>> del a[1]
>>> a
[9, 7, 6]

pop は、特定のインデックスにある項目を削除して返します。

>>> a = [4, 3, 5]
>>> a.pop(1)
3
>>> a
[4, 5]

エラーモードも違う。

>>> a = [4, 5, 6]
>>> a.remove(7)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list
>>> del a[7]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range
>>> a.pop(7)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: pop index out of range