할껀하고놀자

파이썬 기초 300제(6) - 튜플, 리스트 본문

[IT]/Python300제

파이썬 기초 300제(6) - 튜플, 리스트

working_hard 2019. 9. 19. 01:10
728x90

튜플과 리스트에 대해 배움.. 튜플.. 뭐 어따쓰는거지?

언패킹에 대해 배움

튜플은 값을 못바꾼다.

리스트는 바꿀 수 있나? - 리스트는 전체를 가져오면 바꿀 수 있고, 일부를 슬라이싱 해서 가져오면 못바꾸지!

조금씩 어려워진다..

# 61
# interest_1 에 interest_0 리스트 전체를 대입하면, 리스트가 복사되는 것이 아니라, 새로운 이름이 하나더 추가됩니다.
# 즉, interest_0과 interest_1은 동일한 리스트를 가리키고 있게 됩니다.
# (파이썬 문법이에그래요) 따라서 interest_0을 수정하면 interest_1도 함께 변경되서 아래와 같이 출력됩니다.
interest_0 = ['삼성전자', 'LG전자', 'SK Hynix']
interest_1 = interest_0
interest_1[0] = 'Naver'
print(interest_0)   # 네이버로 바뀌네... 신기하다 레퍼런스로 받는거같음 파이썬은
# 62
# 리스트의 슬라이싱은 리스트를 복사 생성합니다. interest_0과 interest_1은 별도의 공간에 각각의 값이 저장되어 있습니다.
# 따라서, interest_1의 값을 수정해도 interest_0의 값이 변경되지 않습니다.
interest_0 = ['삼성전자', 'LG전자', 'SK Hynix']
interest_1 = interest_0[:2]
interest_1[0] = 'Naver'
print(interest_0)   # 일부만 가져오는건 안바뀌는듯..
# 63
my_variable = ()    # 튜플을 정의하는 기호라고 함.
# 64
t = (1,2,3)
# t[0]='a'  ????
# tuple은 element의 값을 변경할 수 없습니다.
# 65
# 하나의 데이터가 저장되는 경우, 아래와 같이 쉼표를 입력해만 합니다. (참고:https://wiki.python.org/moin/TupleSyntax)
# my_tuple = (1, )
a = (1, )
print(a)
# 66
t = 1, 2, 3, 4
print(t)
# 67
t = ('a', 'b', 'c')
t='A','b','c'
print(t)
# 68
interest = ('삼성전자', 'LG전자', 'SK Hynix')
tu = list(interest)
print(tu)
# 69
interest = ['삼성전자', 'LG전자', 'SK Hynix']
li = tuple(interest)
print(li)
# 70 
# 우변 튜플에 저장된 값이 좌변의 변수에 차례로 바인딩 됩니다.
# 이를 데이터 언패킹 (unpacking) 이라고 합니다.
# 주의할 점은 좌변에 정의된 변수의 수와 우변 튜플의 데이터 갯수가 동일해야 합니다.
# a, b, c에 각각 1, 2, 3이 바인딩 되기 때문에 코드의 결괏값은 6입니다.
# 
# 언패킹 코드는 아래와 동일한 기능을 합니다.
# 
# a = my_tuple[0]
# b = my_tuple[1]
# c = my_tuple[2]
my_tuple = (1, 2, 3)
a, b, c = my_tuple
print(a + b + c)
Comments