• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

튜플 출력 관련 질문 입니다.

23.11.14 01:23 작성 조회수 129

0

기초가 부족해서 기초부터 다시시작하고 있는 중입니다. ㅠㅠ

두가지 궁금한 사항이 있는데요,

 

a1=(1), a2=(1,) a3=('a'), a4=('a',) a5=('ab'), a6=('ab',)

이런식으로 튜플과 리스트, 집합을 전부 출력해봤습니다.

위처럼 출력해보니 집합에는 순서가 없기 때문에 인덱싱이나 슬라이싱이 안되는지 등 다양한 로직?들을 깨닳았는데요,

 

근데 두가지 궁금증을 해결하지 못한 부분이 있습니다.

 

  1. 첫번째 질문은,

튜플 출력시에 a=(1)을 int로 인식해서 출력이 안되는건 이해를 했으나,

 

a=('a')인 경우 출력이 되더라구요. 근데 a=(1)을 int로 인식해서 출력을 못한거라면, 'a'도 str로 인식해서 출력이 안되어야 하는게 정상아닌가요?

 

왜 a는 출력이되고 1은 출력이 안되는지 이해가 되지않습니다 ㅠㅠ

 

  1. 두번째 질문은,

'ab'를 출력했을 때, 튜플은 a만 출력이 되는데, 리스트는 왜 ab전부다 출력이 되는지 이해가 되지 않습니다. 왜그런걸까요..??

답변 1

답변을 작성해보세요.

0

오 좋은 질문입니다.

(1). 튜플은 반드시 iterable 한 데이터를 저장할 수 있어요. 중급에서 배우겠지만, str, list 등이죠

a = (21031999)

print(a[0])

똑같은 에러가 날거예요

a = ("21031999")

요렇게 바꿔주셔야 에러가 나지 않습니다.(str == iterable)

(2).아래 예제

a = ('ab')

b = ["ab"]

print(a[0])

print(b[0])

튜플은 내부적으로 ab를 a = ('a','b')로 변환합니다.

그래서 a만 출력이 되고 리스트는 ab 자체를 하나의 원소로 출력합니다.