# 리스트 자료형(순서, 중복, 수정, 삭제 모두 가능)
#선언
a = []
b = list()
c = [70,80,90,100]
d = [1000, 10000,'Ace', 'Base', 'Captine']
e = [1000, 10000,['Ace', 'Base', 'Captine']]
f = [21.42, 'foobar', 3, 4, False, 3.131]
# 인덱싱
print('>>>>>>>>')
print('d - ', type(d), d)
print('d - ', d[1])
print('d - ', d[0] + d[1] + d[1])
print('d - ', d[-1])
print('e - ', e[-1][1]) #e[-1] -> ['Ace', 'Base', 'Captine'] , 그안에 있는 1 인덱스 번호 값 ->Base
print('e - ', list(e[-1][1])) # list로 형변환 ->b,a,s,e
# 슬라이싱
print(">>>>>>>>>")
print('d - ',d[0:3])
print('d - ',d[2:])
print('e - ',e[-1][1:3])
# 리스트 연산
print(">>>>>>>>>")
print(c + d)
print(c * 3)
print("'Test' + c[0]", 'Test' + str(c[0]))
print()
# 값 비교
print(c)
print(c[:3] + c[3:])
print()
#identity(id) -> 주소값 확인
temp = c
print(temp, c)
print(id(c), id(temp))
print()
#리스트 수정, 삭제
print(">>>>>>>>>")
c[0] = 1
print("c : ", c)
c[1:2] = ['a','b','c'] #c[1]에 a,b,c 들어감
print("c:", c)
c[1] = ['a','b','c']
print("c: ",c) # 슬라이싱 안 사용하면 대괄호까지 인덱스1번에 들어감
c[1:3] = []
print("c: ",c)
del c[2]
print("c: ",c) # 원소 삭제 시, del 사용
print()
#리스트 함수
a = [4,3,2,1]
a.append(5) # 원소 맨 오른쪽에 값 추가
print("a: ", a)
a.sort() # 오름차순 정렬
print(a)
a.reverse()
print(a) # 역순 정렬
print(a.index(3)) #인덱스 주소값 출력
a.insert(2,7) #인덱스 2번쨰 자리에 7넣기(값 삽입)
print(a)
a.reverse()
print(a)
a.remove(7) #값 삭제
print(a)
print(a.pop()) # 맨 마지막 원소 꺼내오고
print(a) # 꺼낸 원소를 제외한 나머지 원소들 출력
print(a.count(4)) #원하는 값이 원소에 몇개 있는지
print()
ex = [8,9]
a.extend(ex) # 뒤에 원소 삽입(확장)
print(a)
#삭제 : remove,pop,del
#반복문 활용
while a :
data = a.pop()
print(data)