def rm_small(mylist):
b = None
for x in mylist:
if not b: // 이부분 이해가 안되요
b = x
else:
if x < b:
b = x
if b:
mylist.remove(b)
return mylist
# 아래는 테스트로 출력해 보기 위한 코드입니다.
my_list = [10,8,22]
print(\"결과 {} \".format(rm_small(my_list)))
b = None
for x in mylist:
if not b: // 이부분 이해가 안되요
b = x
else:
if x < b:
b = x
if b:
mylist.remove(b)
return mylist
# 아래는 테스트로 출력해 보기 위한 코드입니다.
my_list = [10,8,22]
print(\"결과 {} \".format(rm_small(my_list)))
if (not b) : not b가 참이면 if블록 실행. 이때 주어진 b=None 거짓이므로 not b는 반드시 참이됨
b가 none 일땐 저부분이 참이 되서 저 블록 실행되면 b에는 x가 저장됨. 근데 저건 반복문이라서 x가 0이나 빈 문자열 등 거짓으로 판별되는 데이터가 들어있지 않은 이상 다음 반복부터는 반드시 else 블록이 실행됨. 저 else 블록에서는 다시 b와 현재 x를 비교해서 b가 x보다 크다면 b에 다시 x를 저장함. 그래서 그런 b가 존재하면
인수로 받은 mylist에서 삭제하는 것 ㅇㅇ