파이썬 for문과 del 키워드 관련 질문입니다
-
게시물 수정 , 삭제는 로그인 필요
파이썬 for문과 del 키워드 관련 질문입니다
0번째와 4번째 인덱스를 제거하려고 하겠네요
처음엔 a의 'Olivia'가 제거될거고
a에 ['a', 'b', 'c', 'Evelyn'] 이 남게될겁니다.
그 상태에서 4번째 인덱스를 제거하려고 접근하면 지금 겪고계신 IndexError를 맞이하겠네요.
만약 'Evelyn'을 제거하고싶었다면
처음에 b를 [0, 3]으로 초기화하거나
이렇게 인덱스를 하나씩 보정해주는 방법을 생각할 수 있겠네요.
원래는 어떻게 작성하고싶었던걸까요?
답변입니다.
우선 b=[0, 3]으로 바꿨습니다.
※ (기존) b = [0, 4] ====> (변경) b = [0, 3]
그 후에 아래와 같이 해보면
i 값, 그리고 a 리스트 값을 알 수 있습니다.
보시면 for문을 한번 돌고
a 리스트 갯수가 3개로 줄었습니다.
그런데 처음엔 b = [0, 4] 이므로
두번째 for문에서 i에 4가 들어가는데
a리스트는 3개 뿐이니까 오류가 발생한겁니다.
다음과 같이 print를 해보면
처음 0 index는 del이 되었고,
두번째 4 index 할때 에러가 발생한 것으로 확인 할 수 있습니다.
그리고, len(a)를 보면 원래 5개 였으나 del을 한번 하면 4로 줄죠. 그런데 b의 두번째가 4 이기때문에
a에는 없는 index가 된 것입니다.(index는 0부터 시작하니 len-1이 마지막 index 값이 되죠)
여러가지 방법이 있겠지만 위 코드상에서는 다음과 같이 삭제할 index를 가지고 있는
b 를 내림차순으로 정렬해서 하면 될 것 같습니다.
그럼 큰 index 값들이 먼저 del 처리되기 때문에 len하고는 상관없게 됩니다.
a = ['Olivia', 'a', 'b', 'c', 'Evelyn'] b = [0, 4] for i in b: del a[i] 를 실행했을 때 왜 자꾸 i가 a 리스트의 인덱스에 해당되지 않는다고 뜨는거죠????ㅠㅠㅠ 정확한...
... max_len = [] for i in range(len(fruit_list)): print(len(fruit_list[i]), end... 못한 것 같습니다. 추가질문 남겨주시면 상세히 답변 드리겠습니다.
파이썬 독학하고 있는 사람입니다. for문과 i,j 변수로 숫자 출력 연습하다 궁금한게 생겨 질문 올립니다. 1 2 3 4 5 6 7 8 9 이런식의 세모형태 연속 숫자 출력이나 1 2 3 4 5 6 7 8...
파이썬에서 : 가 뭔뜻인가요 파이썬에서 콜론(:)은 여러... 조건문과 반복문: if, elif, else, for, while 등의 문장이... class 키워드 뒤에 콜론을 사용합니다. 이것은 정의된 함수나...
안녕하세요 파이썬 개념공부중에 질문이 생겼는데... 있는데, 관련하여 iter(), next() 등을 찾아보시면 도움이... del 키워드 혹은 .pop() 메서드를 통해 가능합니다....
n_list = [ 44, 66, 34, 24, 144, 98, 38, 568, 234, 345 ] a = n_list for i in a... 떠서 질문을 드립니다. 어느부분에서 오류가 나오는건가요? 파이썬 관련해서 문의주셨는데...
... 아래 코드는 "네이버에서 키워드 검색... attrs['href'] for i in news_titles] # 기존의 링크와... 실행과 관련된 코드 (hours는 시, minutes는 분...
안녕하세요 코딩에 빠져있는 학생입니다 혹시파이썬에서 for문을 진행할 때... 그리고 for문 혹은 while문과 같은 반복문은 break 명령문을 만나게되면 즉시 그...
중첩 for문과 조건문을 사용하여 학생별 평균을... ※ 질문주신 내용 이외에도, 파이썬/데이터분석과 관련하여 궁금한 것들이 있다면, 아래 제...
... 물어봐요 파이썬에서 제공하는 날짜관련 함수들은 제외하고 반복문과 윤년 계산 등 만을... [2]=28 for i in range(MM): #전월말 까지 날자계산 KD...