프로그래밍/파이썬

[파이썬] 리스트 List

znvlcm 2021. 6. 15. 13:43

어떤 다수의 데이터를 다룰 때 

변수를 하나하나 지정한다는 건, 

데이터를 삭제, 삽입, 수정을 할 때

하나하나 찾고 수정해야하고, 동적으로 관리하기 매우 어려운 즉 효율성과 생산성이 저하된다.

 

리스트는

순서O, 중복O, 수정O, 삭제O

 

파이썬의 리스트의 특징은, 자바와 달리 자료형이 같지 않아도 된다. 

자바의 배열은 크기가 가변적이지 않지만, 파이썬은 가변적이다. 

자바보다 굉장히 문법적으로 쉽고, 구현하기 편한 것 같다. 

 

a = [] => []
b = list() => []
c = [1,2,3,4] => [1, 2, 3, 4]
d = [10,100,'Pen','Apple', 'ApplePen'] => [10, 100, 'Pen', 'Apple', 'ApplePen']
e = [10, 100, ['Pine', 'Apple', 'Pineapple']]=> [10, 100, ['Pine', 'Apple', 'Pineapple']]

인덱싱-------------
d[3]:  Apple
d[-2]:  Apple
d[0]+d[1]:  110
e[-1][-2]: Apple

슬라이싱-----------------
c[:] [1, 2, 3, 4]
c[0:1] [1]
d[-1:-2:-1] ['ApplePen']

연산-------------------------
c+d :  [1, 2, 3, 4, 10, 100, 'Pen', 'Apple', 'ApplePen']
3*c [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]

수정-------------------------
c[0]=100 후 c :  [100, 2, 3, 4]
c[1:2] = [[5,1000,1000]] =>  [100, [5, 1000, 1000], 3, 4]
c[2] = [1,2,3] =>  [100, [5, 1000, 1000], [1, 2, 3], 4]

삭제-------------------------
del c[1] => [100, [1, 2, 3], 4]  ##특정 인덱스 삭제

리스트 함수
x :  [21, 22, 28, 27, 1, 10]
x.append(100) =>  [21, 22, 28, 27, 1, 10, 100] ## 추가
x.sort()=> [1, 10, 21, 22, 27, 28, 100] ## 정렬
x.reverse()=> [100, 28, 27, 22, 21, 10, 1] ## 역순
x.insert(3,900)=> [100, 28, 27, 900, 22, 21, 10, 1] ## 지정인덱스에 삽입
x.remove(100)=> [28, 27, 900, 22, 21, 10, 1] ## 인덱스가 아닌 특정값을 지움
x.remove(7)=> [28, 27, 900, 22, 21, 10, 1] ## 지정값이 없을 때 에러
popVal=x.pop()=> popVal: 1  x:[28, 27, 900, 22, 21, 10] ## 마지막 값 꺼내고 지움, 데이터 없을 시 에러, 스택 
ex =[50,51]
x.extend(ex) => [28, 27, 900, 22, 21, 10, 50, 51] ## 연장 배열끼리 합침
ap =[52,53]
x.append(ap) => [28, 27, 900, 22, 21, 10, 50, 51, [52, 53]] ## 추가 배열에 배열을 추가
728x90