#리스트 복사
i = [1,2,3,4,5]
j = i
print('j = ',j)
print('i = ',i)
print('--------------')
j[0] = 100
#i,j의 주소값이 같으므로 값이 모두 변한다.
#참조전달
print('id(j) = ',id(j))
print('id(i) = ',id(i))
print('j = ',j)
print('i = ',i)
print('--------------')
#리스트 복사하기(두개다 가능)
#copy가 명시적으로 더 잘보임
#수치전달
x = j.copy()
x = j[:]
x[0] = 200
print('id(j) = ',id(j))
print('id(x) = ',id(x))
print('j = ',j)
print('x = ',x)
print('--------------')
"""
출력결과
j = [1, 2, 3, 4, 5]
i = [1, 2, 3, 4, 5]
--------------
id(j) = 4499210056
id(i) = 4499210056
j = [100, 2, 3, 4, 5]
i = [100, 2, 3, 4, 5]
--------------
id(j) = 4499210056
id(x) = 4735167240
j = [100, 2, 3, 4, 5]
x = [200, 2, 3, 4, 5]
--------------
"""
#튜플
#()로 표현한다
#데이타 조작 보다는 읽어 쓸때 사용한다.
#질문 보기등에 사용하기 유용하다.
print(help(tuple))
t = (1,2,3,4,1,2)
print(type(t))
print('--------------')
#값변경 안됌
#t[0] = 100
#에러남
#튜플안에 배열을 넣을수 있다
#배열은 수정가능하다
t = ([1,2,3],[4,5,6])
print(t)
t[0][0] = 200
print(t)
print('--------------')
#튜플의 언패킹
t = (10,20)
print(t)
x, y = t
#x, y = 10,20 과 같다.
print(x, y)
#대표적인 사용예
min, max = 0, 100
print(min, max)
#값변경도 가능
min, max = max, min
print(min, max)
print('--------------')
"""
출력결과
<class 'tuple'>
--------------
([1, 2, 3], [4, 5, 6])
([200, 2, 3], [4, 5, 6])
--------------
(10, 20)
10 20
0 100
100 0
--------------
"""