문제
풀이 및 정답
# 1부터 30까지의 리스트를 생성
num = [i for i in range(1, 31)]
# 입력받은 숫자를 리스트에서 제거
for _ in range(28):
data = int(input())
num.remove(data)
print(min(num))
print(max(num))
파이썬 리스트에서 항목 제거하기
remove()
메서드의 기본 문법
list_name.remove(value)
remove()
메서드는 파이썬 리스트에서 특정 값을 갖는 첫 번째 항목을 제거하는 데 사용- 여기서 list_name은 대상이 되는 리스트이고, value는 제거하려는 값
- 리스트에 해당 값이 여러 번 나타난 경우, remove()는 첫 번째로 나오는 값을 제거
TypeError: list.remove() takes exactly one argument (0 given)
- remove() 메서드는 제거된 값을 반환하지 않고 반환 값이 없다는
None
을 반환함
예시
#original list
programming_languages = ["JavaScript", "Python", "Java", "C++"]
#print original list
print(programming_languages)
# remove the value 'JavaScript' from the list
programming_languages.remove("JavaScript")
#print updated list
print(programming_languages)
#output
#['JavaScript', 'Python', 'Java', 'C++']
#['Python', 'Java', 'C++']
- 리스트 안에 포함되어 있지 않은 값을 특정한다면 ValueError 발생
- 리스트 안에 해당 값이 있는지 없는지 확인하려면
in
키워드를 사용할 것 - 해당 값의 첫번째 경우만 검색하여 삭제함
in 키워드를 사용한 remove() 메서드
"만약 해당 값이 리스트 안에 있으면 삭제해줘, 없으면 리스트 안에 포함되어 있지 않는 메시지를 보여줘"라는 코드
programming_languages = ["JavaScript", "Python", "Java", "C++"]
if "React" in programming_languages:
programming_languages.remove("React")
else:
print("This value does not exist")
#output
#This value does not exist
파이썬 리스트 안에 해당 값에 해당하는 모든 인스턴스 제거하는 법
리스트 축약(list comprehension) 활용하기
리스트 축약이란?
존재하는 리스트로부터 새로운 리스트를 생성하거나 부분 리스트를 생성하는 것. 원본 리스트를 수정하진 않지만 설정한 조건을 만족하는 새로운 것으로 대신 생성하게 됨
# 리스트에서 모든 특정 값에 해당하는 인스턴스 제거
my_list = [1, 2, 3, 2, 4, 5, 2]
value_to_remove = 2
# 리스트 축약을 사용하여 해당 값에 해당하는 모든 인스턴스 제거
my_list = [item for item in my_list if item != value_to_remove]
print(my_list)
'Algorithm. > BackJoon' 카테고리의 다른 글
백준 python : 1546 평균 (0) | 2023.12.23 |
---|---|
백준 python : 10811 바구니 뒤집기 (1) | 2023.12.23 |
[백준 3052] 나머지 (1) | 2023.12.23 |
[백준 18108] 1998년생인 내가 태국에서는 2541년생?! (0) | 2023.12.09 |
[백준 10926] ??! (0) | 2023.12.09 |