작성
·
249
0
친절한 강의 잘 듣고있습니다.
문제를 풀며 가장 자연스럽게 익숙해지는 파이썬 기본: 문자열,리스트,조건문 활용2 강의 질문입니다.
질문1
위 강의에서 strip 함수에 대해서 설명해 주시는데
제가 주피터 노트에서 아래와 같이 코드를 작성했는데요
code = 'ASAS#D23ERT3'
print (code.strip(code[0:3]))
제가 생각했을 때 code의 0~2번째까지 즉 ASA가
잘리고 S#D23ERT 로 추출이 되어야 된다고 생각하는데
적용해보니 #D23ERT3 로 추출이 됩니다...ㅜ 어떻게 된걸까요?
해당 강의에서 지우고 싶은 문자열을 strip() 괄호안에 넣으면 된다고 하셔서 아래와 같이 코드를 작성했는데 괄호 안에 들어간 부분이 없어지지 않고 추출이 됩니다.
-아래와 같이 코드를 작성하면 아에 추출이 안됩니다.
code = 'abcd\nsaddsadwadw'
print(code.strip('ab\'))
-아래와 같이 코드를 작성하면 a와 b 모두 없어질거라 생각했는데 ab(결합된 형태)만 없어집니다. 따로 없애려면 코드를 어떻게 작성해야 되나요?
code = 'abcd\nsaddsadwadw'
print(code.strip('ab'))
바쁘실텐데 항상 답변 주셔서 감사합니다 :)
답변 1
1
안녕하세요.
우선 처음이셔서, 영상에서 설명하는 내용을 모두 인지를 못하실 수 있으실 것 같아요. 그때에는 항상 영상을 다시 보시면서, 관련 설명을 반복해서 들어보시는 것이 가장 좋구요. 그 다음에는 구글로 검색도 한번 해보시면 좋습니다. 이 연습이 되지 않으면, 한발짝 앞으로 나가실 수가 없으시거든요.
질문하시는 내용은 영상에서 설명이 된 내용으로 보여요.
print (code.strip(code[0:3])) 에서 슬라이싱은 0, 1, 2, 3 까지를 선택하게 되기 때문에, 앞의 ASAS 가 삭제가 되는 것이고요.'
strip 은 딱 제시한 문자열이 정확히 맞은 부분이 맨 오른쪽이든 맨 왼쪽이든 있을 때, 삭제되는 것이 문법이예요. 그래서 말씀하신대로 동작하는 것이라고 보시면 좋을 것 같습니다. 따로라는 것은 문자열중에 뭔가 바꾸고 싶거나 삭제하고 싶은 부분을 처리할 때는 보통은 replace 함수를 사용하고, 관련해서도 영상에서 이후에 설명을 드립니다.
아 인덱스번호와 range(0,3) 이 헷갈렸던것 같습니다..
알려주셔서 감사합니다!