Fix ValueError: list.remove(x): X Not in List 오류 in Python

Rohan Timalsina 2023년6월21일
Fix ValueError: list.remove(x): X Not in List 오류 in Python

Python은 목록을 사용하여 단일 변수에 여러 항목을 저장합니다. 목록의 항목은 0부터 시작하는 인덱스 번호로 정렬되고 저장됩니다.

값은 중복될 수 있으며 변경할 수 있습니다. 목록에서 항목을 추가, 변경 및 제거할 수 있습니다.

remove() 메서드는 목록에서 지정된 항목을 제거합니다. 항목을 제거하는 동안 때때로 list.remove(x): x가 목록에 없음이라는 오류가 발생할 수 있습니다.

remove() 메서드에서 지정한 항목이 목록에 없습니다. 이 튜토리얼은 Python의 목록에서 항목을 제거하는 올바른 방법을 알려줍니다.

Python에서 ValueError: list.remove(x): x가 목록에 없음 오류 수정

remove() 메서드는 하나의 인수만 사용합니다. 한 번에 하나의 인수를 제거할 수 있습니다.

remove 메소드는 목록에서 항목의 첫 번째 항목을 제거합니다. 즉, 항목의 첫 번째 인스턴스는 항목의 여러 인스턴스가 있는 경우에만 제거됩니다.

다음 예에서는 mylist 목록을 만듭니다.

mylist = ["science", "maths", "computer", "english"]

print() 메서드를 사용하여 목록의 항목을 볼 수 있습니다.

print(mylist)

출력:

['science', 'maths', 'computer', 'english']

아래 명령을 사용하여 mylist에서 computer를 제거할 수 있습니다.

mylist.remove("computer")

다음으로 목록의 항목을 확인합니다.

print(mylist)

출력:

['science', 'maths', 'english']

보시다시피 computer 요소가 목록에서 성공적으로 제거되었습니다.

이제 목록에서 computer를 제거하려고 하면 computer 요소가 목록에 없기 때문에 ValueError: list.remove(x): x not in list가 표시됩니다.

mylist.remove("computer")

출력:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list

if...in을 사용하여 제거하기 전에 목록에 항목이 있는지 확인하십시오.

if...in 키워드를 사용하여 항목이 목록에 있는지 여부를 확인할 수 있습니다.

if "computer" in mylist:
    mylist.remove("computer")
else:
    print("computer is not in the list.")
print(mylist)

위의 예는 먼저 컴퓨터가 목록에 있는지 확인합니다. 존재하는 경우 remove() 메서드는 목록에서 항목을 제거하고 마지막 명령은 업데이트된 목록을 인쇄합니다.

else 문이 실행되고 목록에 없는 경우 목록을 인쇄합니다.

출력:

computer is not in the list.
['science', 'maths', 'english']

출력에서 ValueError 예외를 원하지 않을 때 유용할 수 있습니다.

여러 목록 항목을 하나씩 제거

두 가지 방법을 사용하여 Python의 목록에서 여러 항목을 제거할 수 있습니다. 이 오류는 두 개 이상의 항목이나 문자열이 한 번에 제거된 경우에도 발생할 수 있습니다.

remove() 메서드는 하나의 인수만 사용하므로 Python에서는 한 번에 하나의 항목을 제거해야 합니다. 다음은 목록에서 두 항목을 하나씩 제거하는 예입니다.

mylist = ["science", "maths", "computer", "english"]
mylist.remove("maths")
mylist.remove("english")
print(mylist)

출력:

['science', 'computer']

for 루프를 사용하여 여러 목록 항목 제거

또 다른 방법은 Python 목록에서 여러 항목을 제거하기 위해 for 루프를 사용하는 것입니다. 다음 예제에서는 for 루프와 함께 단일 remove 명령을 사용하여 목록에서 여러 항목을 제거합니다.

mylist = ["science", "maths", "computer", "english"]
for item in ["maths", "english"]:
    mylist.remove(item)
print(mylist)

출력:

['science', 'computer']

이제 목록에서 항목을 제거하는 다양한 방법을 알게 되었습니다.

지정한 항목이 목록에 없는 경우 ValueError: list.remove(x): x가 목록에 없음이 발생합니다. 이제 문제의 원인과 Python에서 처리하는 방법을 이해하셨기를 바랍니다.

Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

관련 문장 - Python List

관련 문장 - Python Error