[Python] 리스트 인덱싱, 슬라이싱, 수정, 삭제

정만·2025년 3월 19일

데이터분석

목록 보기
8/61
# 리스트 자료형(순서, 중복, 수정, 삭제 모두 가능)

#선언
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)
profile
멋있는 어른이 되고싶은 정만이의 벨로그

0개의 댓글