Img profile default
kaev
  • 2016.4.23 04:16
  • 조회수 40
  • 답변수 1
Img profile default
kaev
  • 2016.4.23 04:16
  • 조회수 40
  • 답변수 1

둘이 똑같은 리스트인데 왜 결과는 다르게 나올까요?

n = list(str(32312))
print(type(n))
print(n[::-1])

함수로 선언한부분은 [2,1,3,2,3] 으로 나오는데 글에 올린 코드는 ['2','1','3','2','3']으로 나오네요. 얼떨결에 맞추긴 했는데 찜찜해서 올립니다

digit_reverse.py
def digit_reverse(n):
    rtn = [int(x) for x in str(n)]
    return rtn[::-1]
  • #파이썬 입문
  • #자연수를 뒤집어 리스트로 만들기

1 답변

  • Gscxhpxkg5i74t30rimh
    정두식
    • 2016.4.23 08:27

    str(32312)라고 하면 "32312"가 되고, 이걸 하나씩 "3", "2", "3", "1", "2"과 같이 나누면 각 값은 str타입이 됩니다.

    함수로 선언한 부분은 마찬가지이지만 int(x)로 정수형으로 바꿔주고 있으니 2, 1, 3, 2, 3 과 같이 숫자로 나옵니다.

    출력하면 똑같이 보이겠지만 정수형과 문자열형은 전혀 다른 타입입니다. 정수형은 숫자이기 때문에 사칙연산이 가능하지요.

    • 답변 감사합니다! 혼자선 못풀어서 여기저기서 검색한걸로 누더기같은 코드를 만들었더니 문제를 풀면서도 제가 무슨 코드를 만들었는지 잘 모르겠더라구요...-kaev
      2016.4.23 22:55

답변 쓰기

이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.