Skip to content

Commit 83f2b9c

Browse files
committed
Init Version
1 parent 7e0d18e commit 83f2b9c

File tree

1 file changed

+30
-1
lines changed

1 file changed

+30
-1
lines changed

Concept/00_Special/Pythonic_Code_For_Coding_Test.md

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,36 @@ print(sorted(_list, key = lambda dt: dt.lower())) # ['CHicken', 'chocolate', 'ha
350350
문자열
351351
-----
352352

353-
코딩테스트를 파이썬으로 보시는 분들의 일부는 문자열 처리의 장점을 내세웁니다. 실제로 파이썬은 다른 언어보다 문자열 처리가 좀 편한 편이죠.
353+
코딩테스트를 파이썬으로 보시는 분들의 일부는 문자열 처리의 장점을 내세웁니다. 실제로 파이썬은 다른 언어보다 문자열 처리가 좀 편한 편이죠. 대부분의 문자열 처리는 다들 아실테니, 많은 분들이 잘 모르는 내용을 이야기 해보려고 합니다.
354+
355+
`strip()`에 대해서는 들어보셨을 겁니다. 공백을 제거하는 함수죠?
356+
357+
```python
358+
print(' asdasd '.strip()) # asdasd
359+
```
360+
361+
사실 이건 공백을 제거하는 함수가 아닙니다.
362+
363+
```python
364+
print('===chicken==='.strip('=')) # chicken
365+
```
366+
367+
쨔잔! 양 끝에 있는 문자열을 제거하는 함수였습니다. 넘겨주지 않으면 공백 문자로 인식해서 공백을 제거했던 것일 뿐입니다.
368+
참고로, 두개 이상의 문자열을 넣어주면, 두개를 모두 지워버립니다. and 조건이 아니라 or 조건이에요!
369+
370+
문자열을 뒤집고 싶을 땐, 두 가지 방법이 있습니다. (사실 이건 iterable한 데이터에선 모두 사용할 수 있지만, 두번째 때문에 일부러 문자열에서 설명합니다.)
371+
372+
```python
373+
string = 'I am Hungry...'
374+
print(string[::-1])
375+
print("".join(reversed(string)))
376+
```
377+
378+
전자의 경우, 모든 iterable한 데이터에서 사용 가능합니다. (즉, 리스트도, 튜플도 가능한거죠.) 잘 모르시는 분들은 슬라이싱을 할 때 두개의 변수만 활용하지만, 세번째를 활용하면 슬라이싱이 더 무궁무진해집니다.
379+
380+
슬라이싱은 `string[시작:종료(포함 안 함):간격]` 구조를 띄고 있습니다. 즉, 마지막이 2이면 0, 2, 4... 번째 문자열을 꺼내오겠죠. -1은? 역순으로 뽑아옵니다. 간격도 물론 조정할 수 있습니다.
381+
382+
두번째의 경우 역순으로 뒤집은 iterator (iterable이 아닙니다!)을 리턴하는데, 그냥 출력하면 메모리 주소가 나오기 때문에 `for i in ~` 구조를 사용하거나 join을 사용합니다. (join 활용법은 아래에서 볼 수 있습니다!)
354383

355384
* * *
356385

0 commit comments

Comments
 (0)