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 | 29 | 30 | 31 |
Tags
- crud
- 카톡
- Vue
- 튜플
- RDS
- wetube
- merge
- dict
- TypeScript
- react
- pandas
- socket io
- node
- SAA
- git
- NeXT
- Props
- docker
- async
- 채팅
- MongoDB
- flask
- AWS
- S3
- Class
- lambda
- EC2
- 파이썬
- 중급파이썬
- SSA
Archives
- Today
- Total
초보 개발자
20강 enumerate와 문자열 비교 본문
[문자열 비교]
리스트에 담긴 학생의 이름을 가나다순으로 정렬하고 1부터 시작해서 번호를 매긴다.
그리고 그 정보를 딕셔너리에 담는데 번호가 키이고 이름이 값이 되도록한다.
이러한 코드를 작성한다면
문자열 비교 방법
'A' < 'Z' # 알파벳 순서상 뒤로 갈수록 크다.
True
'AA' < 'AZ' # 첫 번째 문자가 같다면 두 번째 문자를 비교한다.
True
'AA' < 'AAA' #비교하는 문자들이 모두 같다면 하나라도 긴 문자열이 크다.
True
'A' < 'a' # 소문자가 대문자보다 크다.
True
한글도 마찬가지이다.
'가' < '나' #가나다순으로 뒤로 갈수록 크다.
'가' < '구' #아야어여오요우유으이 순으로 뒤로갈수록 크다.
'가가' < '가나' # 첫 번째 문자가 같다면 두 번째 문자를 비교한다.
'하하' < '하하하' # 비교하는 문자들이 모두 같다면 하나라도 긴 문자열이 크다.
다시 본래의 주제로 돌아오자
name.sort()
names
['김현주','박선주','윤나은','이지선','장현지']
전에 배운 sort매소드를 통해서 정렬을 해주었다. 여기서 딕셔너리에 번호를 넣어주려면
for 문으로 하나씩 넣어주어야 하는데 이를 enumerate를 사용하면 훨씬 간편하게 가능하다.
enumerate함수는 enumerate 객체라는 iterator 객체를 생성한다.
names = ['김현주','박선주','윤나은','이지선','장현지']
eo - enumerate(names) #iterator 객체인 enumerate 객체를 반환한다.
for n in eo: #eo에 담긴 것은 iterator 객체이므로 for 루프에 올 수 있음
print(n)
(0, '김현주')
(1, '박선주')
(2, '윤나은')
(3, '이지선')
(4, '장현지')
만약 eo = enumerate(names,10)이라고 했다면 아래와 같이 출력이 됨
(10, '김현주')
(11, '박선주')
(12, '윤나은')
(13, '이지선')
(14, '장현지')
이제 처음 해보려했던 걸 딕셔너리 컴프리 헨션을 통해 구현해보자
dnames = {k : v for k, v in enumerate(sorted(names), 1)}
dnames
{1:'김현주',2:'박선주',3:'윤나은',4:'이지선',5:'장현지'}
'Python > 윤성우 열혈 파이썬' 카테고리의 다른 글
22강 메소드 기반 문자열 조합 (0) | 2022.01.17 |
---|---|
21강 표현식 기반 문자열 조합 (0) | 2022.01.17 |
19강 정렬 기술 sort, sorted, key (0) | 2022.01.17 |
18강 자료형 분류와 set & frozenset (0) | 2022.01.17 |
17강 dict & OrderedDict (0) | 2021.12.24 |