강의로 돌아가기
pypyrie

IndexError: list assignment index out of range

str =오늘은 날씨가 흐림

words = str.split(" ")
print(words)

position = str.index(흐림)
print(position)
words[position] = 맑음

new_str = " ".join(words)

print(new_str)

중간에 print 있는건 확인해보려고 한거고요
여기서 words[position]에 흐림대신 맑음을 넣어야하는데 범위를 벗어났다고 하네요...

작성중인 코드―list_and_string
1
2
3
4
5
6
7
8
9
10
11
12
13
14
str = "오늘은 날씨가 흐림"

# split()을 이용해서 str을 공백으로 나눈 문자열을 words에 저장하세요
words = str.split(" ")

# index()를 이용해서 "흐림"이 words의 몇번째에 있는지 찾고, position에 저장하세요.
position = str.index("흐림")

words[position] = "맑음"

#join()을 이용해서 words를 다시 문자열로 바꿔 new_str에 저장하세요. words를 문자열로 바꿀때는 공백 한 칸을 기준으로 붙이면 됩니다.
new_str = " ".join(words)

print(new_str)
1 개의 답변
정두식_
str = "오늘은 날씨가 흐림"

# split()을 이용해서 str을 공백으로 나눈 문자열을 words에 저장하세요
words = str.split(" ")
print(words)
# index()를 이용해서 "흐림"이 words의 몇번째에 있는지 찾고, position에 저장하세요.
position = str.index("흐림")
print(position)

위와 같이 실행하면

['오늘은', '날씨가', '흐림']
8

이렇게 출력 되는데요. position의 값이 8인것에 주목해 주세요. position이 2가 되려면 str이 아니라 다른것의 index를 찾아야 합니다.

  • pypyrie
    아 감사합니다~ pypyrie 2017.08.18 11:24
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.