리스트(list) : 순서가 있는 목록
자바스크립트의 배열을 생각하면 이해하기 쉽다. [ ] 괄호로 이루어진 자료형을 생각하면 된다.
인덱싱 : 리스트이름 [ "인덱스" ] -> 리스트 내에서 해당 인덱스에 위치한 데이터 출력
슬라이싱 : 리스트이름[ 'slice 시작하는 인덱스' : '끝내는 인덱스 + 1']
ex) list[3:5] -> 3번째 인덱스부터 4번째 인덱스 데이터만 골라냄
리스트 연산자
[리스트] + [리스트1] = [ 리스트, 리스트 1]
[리스트] * 3(숫자) = [리스트, 리스트, 리스트] -> 리스트를 숫자만큼 반복
데이터 in 리스트 -> 리스트 안에 데이터 있는지 여부를 참 거짓으로 점검
리스트 함수
append( )함수
자바스크립트의 push 메소드와 같은 기능. 즉 리스트의 맨 마지막 인덱스에 요소 추가
insert( )함수
리스트에 정해진 인덱스에 요소를 넣고자 할때,
리스트.insert( '넣을 위치, 인덱스번호' , 넣고자 하는 요소)
extend( ) 함수
여러 요소를 넣고자 할 때 사용
리스트.extend( [ 배열의 형태로 넣고자 하는 요소들])
ex) [1,2,3].extend([5,6,7]) = [1,2,3,5,6,7]
파괴적 함수와 비파괴적 함수
함수를 실행했을 때 원래의 데이터가 변환되느냐(파괴적함수) / 파괴되지 않느냐(비파괴적함수)
ex) a.upper() = A , 하지만 a는 그래도 a이다. 변형되지 않는다.
리스트의 함수는 대부분 파괴적이다.
대부분의 함수는 비파괴적 함수인데, 리스트 함수는 파괴적이기 때문에 독특하다.
why? 컴퓨터의 성능적인 측면을 위해서, 리스트의 경우 데이터의 크기가 얼마든지 커질 가능성이 있으므로 원본을 유지하고 비파괴적으로 다루면 컴퓨터에 부담을 준다.
기존 리스트에서 연산자를 활용하면 비파괴적으로 가능하다.
ex) a = [1,2,3]
a + [4] = [1,2,3,4] / 하지만 a는 그대로 유지
리스트 요소 제거하기
1. 인덱스 제거
- del 연산자 : del 리스트[인덱스]
ex) a = [1,2,3] , del a[1] / a=[1,3]
- pop( ) 함수 : 리스트.pop( 인덱스 번호)
-> 꺼내려는 요소를 출력해준다. / 만약에 인덱스 번호를 지정안해주면 가장 마지막 요소를 꺼내준다.
2. 값으로 제거
- remove( )함수 : 리스트.remove(제거하려는 요소)
-> 내부에 제거하려는 요소가 여러개 있으면, 해당하는 데이터의 가장 앞만 제거한다. 즉 하나만 제거할 수 있으므로,
같은 데이터를 다 제거하려면 반복문과 혼용해야한다.
** clear( ) 함수는 리스트 내의 요소를 다 지워준다.
for 반복문
for <요소 변수 이름> in 리스트 :
코드
-> dict 를 반복할 경우
for key in {dict 이름}.keys()
이렇게 반복문을 돌 수 있다.
'Programming Language > Python' 카테고리의 다른 글
파이썬 시작하기_반복문 (0) | 2020.11.07 |
---|---|
파이썬 시작하기_딕셔너리 (0) | 2020.11.07 |
파이썬 시작하기_조건문/boolean자료형 (0) | 2020.11.06 |
파이썬시작하기_문자열기본함수 (0) | 2020.11.05 |
파이썬 시작하기_숫자자료형 / 변수/ input()함수/자료형 타입변환 (0) | 2020.11.05 |