인프런 커뮤니티 질문&답변
.remove로 푼걸 질문하려 합니다
작성
·
177
0
from random import *
a = range (1,21)
print(a)
a = list(a)
shuffle(a)
print (a, "\n로 셔플완료")
ch = (sample (a, 1))
print ("----축하합니다----\n치킨 당첨자" , ch)
a.remove(ch[0])
cof = (sample (a , 3))
print ("커피 당첨자" , cof , "\n----축하합니다----")
a.remove(cof[0])
a.remove(cof[1])
a.remove(cof[2])
print ("남은 당첨자들" , a)
아주 유용한 강의였습니다
저는 이렇게 풀었는데요, list.remove(x[n])를 사용하면 항상 하나만 제거할수
있더라고요. remove 로는 그 변수에 들어있는것들 모두와 같은 값을 리스트에서
제거할수 없는건가요? 만약 아니라면 다수를 한번에 remove로 제거하는 방법이
궁금합니다.
a.remove(cof[0:3]) ValueError: list.remove(x): x not in list
항상 이렇게 에러가 나옵니다.
답변 1
0
나도코딩
지식공유자
한 줄 for 를 응용하는 방법이 있겠네요 ^^
때로는 리스트를 조작하는 것보다 새로운 리스트를 만드시는 게 좋기도 하답니다.
from random import *
a = range (1,21)
print(a)
a = list(a)
shuffle(a)
print (a, "\n로 셔플완료")
ch = (sample (a, 1))
print ("----축하합니다----\n치킨 당첨자" , ch)
a.remove(ch[0])
cof = (sample (a , 3))
print ("커피 당첨자" , cof , "\n----축하합니다----")
a = [i for i in a if i not in cof] # cof 리스트에 있는 항목을 제외한 새로운 리스트 생성
print ("남은 당첨자들" , a)





