Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- element
- Array
- 노드 객체
- Web
- HTML
- HtmlElement
- 문자열
- 노드 replace
- webprogramming
- 이벤트
- Object
- HTTP
- backend
- innerHTML
- 코딩테스트
- 노드 추가
- jsp내장객체
- Servlet
- addEventListener
- 노드
- 파이썬 코테
- debugging
- 자바스크립트 이벤트
- 포워드
- 이벤트 핸들러
- 노드 삭제
- 리다이렉트
- eventlistener
- javascript
- 자바스크립트
Archives
- Today
- Total
seoyoung.dev
[ch06]문자열 조작 본문
[ 파이썬 알고리즘 인터뷰_알고리즘 스터디 리뷰 ]
* 문자열에서 문자랑 숫자만 사용하기
1) isalnum() 으로 판별 -> bool 리턴
2) re.sub('[^a-z0-9]'),'',s) : ^은 not 을 의미 -> a-z랑 0-9 처럼 문자나 숫자가 아닌 글자는 ''로 대체
* 팰린드롬인지 판별 // 앞뒤로 똑같은 문장
1) pop(0) 이랑 pop() 비교 - 같지 않은 부분이 있으면 판단 종료
while (len(strs) > 1:
if strs.pop(0) != strs.pop():
print('false')
* lambda 이중조건 + sort의 정렬 기준 key
1) lambda x: ( 첫번째 조건, 두번째 조건..)
+ 조건 내에서 split() 하고 바로 사용하면 문장->단어->문장 과정 생략 가능
letters = ['let1 art can','let2 own kit dig','let3 art zero']
letters.sort(key = lambda x:(x.split()[1:],x.split()[0]))
* 리스트 Comprehension
paragraph = "Bob hit a ball"
banned = ["hit"]
# 문자 아닌 글자는 공백 치환 / banned 에 없는 단어들만 words 에 저장
words = [word for word in re.sub(r'[\w]',' ',paragraph).lower().split() if word not in banned ]
* Counter 객체
: Counter -> ({'ball' : 2, 'bob' : 1, ... }) 처럼 딕셔너리 형태로 단어의 출현 빈도 알 수 있다.
import collections
counter = collections.Counter(words)
counter.most_common(1)[0][0]
* 단어나 문장 sorted
-> 구성 단일 문자 순으로 정렬, 리스트 저장
word='eat'
sorted(word)
# ['a','e','t']
* sorted 와 sort 차이
- sort() : 제자리 정렬 -> None 리턴, 원본 리스트에 영향 O, sorted 보다 빠름(복사본x)
- sorted() : 정렬된 새로운 리스트를 반환, 원본 리스트에 영향 X
'TIL > Python' 카테고리의 다른 글
[ch11]해시 테이블 (0) | 2021.08.03 |
---|---|
[ch10]데크,우선순위 큐 (0) | 2021.08.03 |
[ch09]스택,큐 (0) | 2021.07.31 |
[ch_08]연결리스트 (0) | 2021.07.28 |
[ch_07]배열 (0) | 2021.07.23 |