Study/Python

[python]DashInsert 함수(enumerate)

seomj 2021. 2. 6. 12:33


data = "4546793"
numbers = list(map(int, data))   # 숫자 문자열을 숫자 리스트로 변경
result = []

for i, num in enumerate(numbers):
    result.append(str(num))
    if i < len(numbers)-1:                   # 다음 수가 있다면
        is_odd = num % 2 == 1                # 현재 수가 홀수
        is_next_odd = numbers[i+1] % 2 == 1  # 다음 수가 홀수
        if is_odd and is_next_odd:           # 연속 홀수
            result.append("-")
        elif not is_odd and not is_next_odd: # 연속 짝수
            result.append("*")

print("".join(result))

 

enumerate

순서가 있는 자료형(리스트, 튜플, 문자열)을 입력으로 받아 인덱스 값을 포함하는 enumerate 객체를 돌려줌

(보통 for문과 함께 자주 사용)

 

for문처럼 반복되는 구간에서 객체가 현재 어느 위치에 있는지 알려 주는 인덱스 값이 필요할때 매우 유용

 

for문과 함께 사용하면 자료형의 현재 순서(index)와 그 값을 쉽게 알 수 있음

 

 

 

출처 : 점프 투 파이썬

'Study > Python' 카테고리의 다른 글

[python]Duplicate Numbers  (0) 2021.02.06
[python]문자열 압축하기  (0) 2021.02.06
[python]리스트의 더하기와 extend 함수  (0) 2021.02.05
[python]딕셔너리 값 추출하기  (2) 2021.02.05
[python]sort와 sorted  (0) 2021.02.02