#21.06.03
#슬라이싱
d = [4, 8, 12, 16]
e = [3, 6, 9, ['easy', 'normal', 'hard']]
print('d - ', d[0:2]) # d[n:m]에서 n~(m-1)까지의 원소들을 나열한다. 4번줄 출력은 따라서 d - [4, 8]이다.
print('d - ', d[1:]) # 1번 원소부터 끝번호 원소까지 나열시킨다.
print('e - ', list(e[-1][0:2])) ## inflearn_03에서 형변환 시 일일이 분해가 됐었지만 복수의 원소들을 불러내니
                                ## 형변환이 이루어지지 않는다. 출력은 ['easy', 'normal'].

print()
print('>>>>>'*7)
print()

#슬라이싱 연산
print('d+e - ', d+e) # 같은 형이기에 에러없이 출력된다. 순서가 유지된다.
print('e*3 - ', e*3) # 곱셈연산 수행가능. 순서 유지됨.
print(e[-1][0]+str(70)) # print(e[-1][0]+70)로 작성하면 str+int이기에 결합이 되지 않는다.
                        # 하나의 형으로 통일시키면 결합된다. 출력은 easy70.

#슬라이스 값비교
print(d[:3])
print(d[3:])
print(e == e[:2]+e[2:]) # e == e[:x]+e[x:]는 항상 True인 듯하다.
                        # 특정 integer x를 선언하는 법을 몰라서 적어보지 못해 아쉽.

#identity(id)
temp = d
print(temp, d)
print(id(temp))
print(id(d)) # 리스트는 하나의 주소값을 공유한다.

#리스트 수정, 변환
d[0] = 'bad'
print('d[0] - ', d[0]) # 리스트는 인덱싱 번호를 통해 접근, 수정이 용이하다.
e[0:3] = [] # 좀 더 나은 방법이 있지만 빈괄호를 통해 리스트 원소를 지울 수 있다.
print(e)
del d[0] # 좀 더 나은 방법이라고 강사가 말한다.
print(d)