a = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
print('가운데 2개: ', a[3:5])
print('마지막을 제외한 나머지:', a[1:7])
가운데 2개: ['d', 'e'] 마지막을 제외한 나머지: ['b', 'c', 'd', 'e', 'f', 'g']
assert a[:5] == a[0:5]
assert a[5:] == a[5:len(a)]
a[:] # ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
a[:5] # ['a', 'b', 'c', 'd', 'e']
['a', 'b', 'c', 'd', 'e']
a[:-1] # ['a', 'b', 'c', 'd', 'e', 'f', 'g']
['a', 'b', 'c', 'd', 'e', 'f', 'g']
a[4:] # ['e', 'f', 'g', 'h']
['e', 'f', 'g', 'h']
a[-3:] # ['f', 'g', 'h']
['f', 'g', 'h']
a[2:5] # ['c', 'd', 'e']
['c', 'd', 'e']
a[2:-1] # ['c', 'd', 'e', 'f', 'g']
['c', 'd', 'e', 'f', 'g']
a[-3:-1] # ['f', 'g']
['f', 'g']
first_twenty_items = a[:20]
last_twenty_items = a[-20:]
b = a[3:]
print('이전:', b)
b[1] = 99
print('이후:', b)
print('변화 없음:', a)
이전: ['d', 'e', 'f', 'g', 'h'] 이후: ['d', 99, 'f', 'g', 'h'] 변화 없음: ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
print('이전:', a)
a[2:7] = [99, 22, 14]
print('이후:', a)
이전: ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'] 이후: ['a', 'b', 99, 22, 14, 'h']
print('이전:', a)
a[2:3] = [47, 11]
print('이후:', a)
이전: ['a', 'b', 99, 22, 14, 'h'] 이후: ['a', 'b', 47, 11, 22, 14, 'h']
b = a[:]
assert b == a and b is not a
b = a
print('이전 a:', a)
print('이전 b:', b)
a[:] = [101, 102, 103]
assert a is b # 여전히 같은 리스트 객체임
print('이후 a:', a) # 새로운 내용이 들어 있음
print('이후 b:', b) # 같은 리스트 객체이기 때문에 a와 내용이 같음
이전 a: ['a', 'b', 47, 11, 22, 14, 'h'] 이전 b: ['a', 'b', 47, 11, 22, 14, 'h'] 이후 a: [101, 102, 103] 이후 b: [101, 102, 103]