파이썬 데이터의 비밀
Aliasing
- 파이썬 자료형의 따라 aliasing이 일어난다.불변형 (immutable) : tuple, str, int, bool, float
- 가변형 (mutable) : dict, list
- 변수 이름이 적힌 이름표를 값에 단다고 생각할 수 있다.
x = 5
y = x
y = 3
print(x)
print(y)
- 리스트의 경우 가변형이기 때문에 값이 다 바뀐다.
x = [2, 3, 5, 7, 11]
y = x
y[2] = 4
print(x)
print(y)
x = [2, 3, 5, 7, 11]
y = x
y = [2, 3]
print(x)
print(y)
x = [2, 3, 5, 7, 11]
y = list(x)
y[2] = 4
print(x)
print(y)
- list(x)를 이용하면 기존의 값을 안바꾸고 복사할 수 있다.
x = [2, 3, 5, 7, 11]
y = list(x)
y[2] = 4
print(x)
print(y)
리스트와 문자열
- 리스트와 문자열은 비슷한 부분이 많다.len 함수를 사용해 문자의 갯수를 알 수 있다.그러나 문자열은 리스트와 달리 수정할 수 없다.
- 덧셈 연산이 가능하다. ( 'ab' + 'cd' = "abcd' )
- 인덱싱을 통해 특정 문자열을 뽑거나, 슬라이싱할 수 있다.
alphabet_list = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
print(alphabet_list[0])
print(alphabet_list[:3])
print(len(alphabet_list))
alphabet_string = 'abcdefghi'
print(alphabet_string[0])
print(alphabet_string[:3])
print(len(alphabet_string))
alphabet_string[0] = q
- 인덱싱이 가능하기 때문에 for 반복문도 사용할 수 있다.
alphabet_list = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
for i in alphabet_list:
print(i)
alphabet_string = 'abcdefghi'
for k in alphabet_string:
print(k)