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에서 처리하는 방법을 이해하셨기를 바랍니다.
관련 문장 - Python List
- Python에서 사전을 목록으로 변환
- Python의 목록에서 요소의 모든 발생 제거
- Python의 목록에서 중복 제거
- 파이썬에서 목록의 평균을 얻는 방법
- 추가 및 확장 목록 방법의 차이점은 무엇입니까
- 파이썬에서리스트를 문자열로 변환하는 방법
관련 문장 - Python Error
- AttributeError 수정: Python에서 'generator' 객체에 'next' 속성이 없습니다.
- AttributeError 해결: 'list' 객체 속성 'append'는 읽기 전용입니다.
- AttributeError 해결: Python에서 'Nonetype' 객체에 'Group' 속성이 없습니다.
- AttributeError: 'Dict' 객체에 Python의 'Append' 속성이 없습니다.
- AttributeError: 'NoneType' 객체에 Python의 'Text' 속성이 없습니다.
- AttributeError: Int 객체에 속성이 없습니다.