파이썬 목록에서 델, 제거 및 팝의 차이점은 무엇입니까

Aliaksei Yursha 2023년1월30일
  1. 파이썬리스트 값으로 제거
  2. 파이썬리스트 인덱스로 제거
  3. del 에 의한 파이썬리스트 제거
파이썬 목록에서 델, 제거 및 팝의 차이점은 무엇입니까

파이썬은 종종 똑같이 달성 할 수있는 몇 가지 수단을 제공합니다.

목록에서 요소를 삭제해야하는 경우 다음 중 하나를 사용할 수 있습니다.
list.remove()또는 list.pop()함수 또는 내장 del 문.

아래 예에서 우리는 이러한 각 접근 방식을 다루고 그 차이점과 장단점에 대해 논의합니다.

파이썬리스트 값으로 제거

list.remove()는 목록에서 첫 번째 항목을 제거합니다. 값은 전달 된 인수와 같습니다.
이 방법을 사용할 때는 일반적으로 제거 할 항목의 색인이 무엇인지 알거나 신경 쓰지 않습니다.

>>> names = ['Bob', 'Cindy', 'Noah']
>>> names.remove('Cindy')
>>> names
['Bob', 'Noah']

이 방법을 사용할 때주의하십시오.
삭제하려는 항목이 목록에 없으면
파이썬 런타임은 ValueError 를 던질 것입니다.

>>> names = ['Bob', 'Noah']
>>> names.remove('Cindy')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list

이 문제를 탐색하려면 항목이 있는지 확인해야합니다
list.remove()를 시도하기 전에 목록에 존재합니다.

>>> names = ['Bob', 'Noah']
>>> if 'Cindy' in names:
...   names.remove('Cindy')
...
>>>

파이썬리스트 인덱스로 제거

제거하고자하는 요소의 인덱스를 알고 있다면 list.pop()메소드를 사용할 수 있습니다.

>>> names = ['Bob', 'Cindy', 'Noah']
>>> names.pop(1)
'Cindy'
>>> names
['Bob', 'Noah']

list.pop()은 지정된 인덱스에서 요소를 제거하고 반환합니다.

list.pop()에 인덱스를 지정하지 않으면 목록의 마지막 요소가 제거됩니다.

>>> names = ['Bob', 'Cindy', 'Noah']
>>> names.pop()
'Noah'
>>> names
['Bob', 'Cindy']

del 에 의한 파이썬리스트 제거

인덱스로 목록에서 요소를 제거하는 또 다른 옵션은 del 내장 명령문을 사용하는 것입니다.
list.pop()과 달리 del 문은 제거 된 값을 반환하지 않습니다.

>>> names = ['Bob', 'Cindy', 'Noah']
>>> del names[1]
>>> names
['Bob', 'Noah']

del 문은 list.pop()보다 유연합니다.
이를 사용하여 목록에서 값 범위를 제거 할 수 있습니다.

>>> names = ['Bob', 'Cindy', 'Noah']
>>> del names[0:2]
>>> names
['Noah']

이를 사용하여 전체 목록을 지울 수도 있습니다.

>>> names = ['Bob', 'Cindy', 'Noah']
>>> del names[:]
>>> names
[]

위에서 알 수 있듯이 각 방법마다 사용 사례가 약간 다릅니다.
여전히 값을 기억하지 않고 목록에서 단일 요소를 제거하는 것만 필요한 경우 두 방법 중 하나가 작동합니다.

더 넓은 범위의 코드에서 더 잘 읽는 것을 사용하십시오.

관련 문장 - Python List