📌enumerate란?
enumerate함수는 enumerate 객체를 생성해주는 함수다.
그럼 enumerate 객체는 무엇일까?
enumerate 객체는 순서 번호가 들어간 iterator 객체이다.
만약 반 학생들을 이름순으로 정렬한 뒤 각각 번호를 매긴다면 어떻게 해야할까?
이름순 정렬은 sort()나 sorted() 함수로 해결 가능할 것이다.
그런데 번호는 i=1부터 선언해서 각각 추가해 주어야 한다.
이를 간단하게 처리해주기 위한 함수가 enumerate 함수이다.
student = ['Jihyeon', 'Andy', 'Chris', 'Songhye', 'Danny']
student.sort()
enum_student = enumerate(student)
for x in enum_student:
print(x)
# (0, 'Andy')
# (1, 'Chris')
# (2, 'Danny')
# (3, 'Jihyeon')
# (4, 'Songhye')
그런데 번호가 0번부터 있다.
10번부터 저장하려면 다음과 같다.
student = ['Jihyeon', 'Andy', 'Chris', 'Songhye', 'Danny']
student.sort()
enum_student = enumerate(student, 10)
for x in enum_student:
print(x)
# (10, 'Andy')
# (11, 'Chris')
# (12, 'Danny')
# (13, 'Jihyeon')
# (14, 'Songhye')
enumerate 객체를 for문에 넣어서 코드를 줄일 수도 있다.
student = ['Jihyeon', 'Andy', 'Chris', 'Songhye', 'Danny']
student.sort()
for x in enumerate(student, 10):
print(x)
# (10, 'Andy')
# (11, 'Chris')
# (12, 'Danny')
# (13, 'Jihyeon')
# (14, 'Songhye')
📌문자열 비교
참고로 문자열 비교는 사전순으로 이루어진다.
알파벳의 경우 대문자, 그 뒤 소문자 순으로 정렬되어 있다.
한글도 마찬가지로 사전 순서로 정렬이 이루어진다.
참고서적 - 열혈 파이썬 중급편 윤성우 저
'객체 지향 프로그래밍 > Python' 카테고리의 다른 글
딕셔너리와 zip함수 이해하기 (0) | 2021.03.19 |
---|---|
코딩테스트에서 사용할만한 정렬기법 (0) | 2021.03.17 |
패킹과 언패킹 이해하기 (0) | 2021.03.16 |
map과 filter 함수 활용하기 (0) | 2021.03.15 |
파이썬에서는 모든 것이 객체! (2) | 2021.03.14 |