string.split() 과 string.split('') 의 차이공백으로 구분하기 문제를 풀면서 겪었던 오류!
처음에 평소 쓰던대로 split(' ')을 사용했는데
['i', '', 'love', '', 'you']
['', '', 'programmers', '', '']
이런 식으로 공백이 모두 리스트화 되었다.
split() 의 경우 공백이 여러 개더라도 하나로 간주하고, 앞뒤로 붙은 공백도 고려하지 않는다. 따라서
def solution(my_string):
answer = list(my_string.split())
return answer
print(solution('i love you'))
print(solution(' programmers '))
**결과**
['i', 'love', 'you']
['programmers']
이렇게 문자열만 리스트화한 것을 볼 수 있다.
자꾸 리스트와 같은 방법으로 해결하려고 해서 적어둠.
mystring = example에서
mystring_str은 문자열, mystring_list는 리스트라고 할 때
mystring_str[i]를 하는 것은 mystring_list[i]하는 것과 같다.
따라서
mystring_str[0] = 'e'
mystring_list[0] = 'e'
하지만
'e'를 'E'로 바꿔주어야 한다고 할 때
mystring_list[0] = 'E' 로 해서 바꿀 수 있는 반면
mystring_str[0] = 'E'는 불가함.
튜플과 같이 문자열은 값 자체를 그냥 바꿀 수 없고 replace를 써야한다.
또한 replace()를 사용할 경우 다른 값에 넣어줘야 한다.
mystring = mystring_str.replace(mystring_str[0],'E')
하지만 이렇게 사용하면 'example' 에 대한 모든 'e'들이 'E'로 바뀌므로 유의.
DB
DBMS(데이터베이스 관리 시스템)