number_of_cases 코드에 관한 질문드립니다.
127
작성한 질문수 7
Q1)
초기코드는 이러했습니다.
def number_of_cases(list_data):
result =[]element1=None
element2=None
sumelement=""
for i in range(len(list_data)):
element1=list_data[i]
for j in range(len(list_data)):
element2=list_data[j]
sumelement=str(element1)+str(element2)
result+=[sumelement]
result.sort()
for i in result:
if result.count(i)>1:
result.remove(i)
return result
그런데 이렇게 코드를 작성하면 중복되는 list값을 잡지를 못하더군요.
이것 저것 실험해보니
for i in result:
if result.count(i)>1:
result.remove(i)
가 문제였던 건 알겠는데, 정확히 저 코드속에서 무슨 일이 일어나는지 알아내기가 힘듭니다.
for i in range(len(result))를 하면 len(result)의 변화에 관계없이 i값은 초기에 정해진 range대로 따라가는데, for i in result를 하고 result.remove(i)를 하면 왜 처음 넣어준 result내의 값이 다 나오는 것이 아니라 len(result)를 따라가는거죠?
Q2)
i=0
while 1:
if result.count(result[i])>1:
result.remove(result[i])
i=0
else:
i+=1
if i+1==len(result):
break
return result
결국 for부분을 while 무한루프로 처리했을 때야 문제를 풀 수 있었습니다.
원래 중복처리는 어떤식으로 처리하나요?
답변 0
atom warning 글
0
337
0
backend.ai 설치 오류
0
315
0
backend.ai 설치 시 에러 발생
0
740
1
과제 제출 시 hash key is already used 문제 발생
0
445
0
install.bat 오류
0
478
0
과제 제출 시 hash key is already used. 해시키 문제 문의 드립니다.
0
308
1
"Hash key is already used."으로 인한 과제 제출 실패 문의
0
303
1
과제 제출 시 에러가 발생합니다
0
271
1
인트로 강의가 없습니다
0
180
0
사진 링크가 깨져있습니다
0
270
0
slack아직 사용할 수 있는건가요?
0
173
0
강의자료
0
398
4
'backend.ai'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.
0
439
2
에러확인부탁드립니다.
0
258
1
number of cases 코드 질문
0
206
1
split 관련 질문입니다!
0
229
1
함수 definition 관련 질문입니다.
0
296
1
is_digit 함수 구현
0
306
1
Map & Reduce 강의 8분 15초
1
233
1
keyword parameter
0
239
1
submit.bat 오류
0
196
2
matrix_transpose 결과값이 뭐죠?
0
176
0
value를 넣으면 key를 반환하는 함수
0
131
0
첨부파일의 unit test는 어떻게 사용하나요?
0
267
0





