다양한 타입의 데이터를 하나의 자료로 표현할 수 있는 시퀀스 자료형

1) 리스트 슬라이싱(slicing)
리스트의 값들은 각각에 해당하는 주소(offset)를 갖는다
그 주소를 기반으로 리스트의 부분값을 슬라이싱하여 가져올 수 있는 기법

index가 처음부터 0,1,2,...로 가는건 누구나 알지만 거꾸로 -1,-2,-3...으로 가는건 아무나 아는 것이 아니다

2) concatenation, repeat, in
리스트도 덧셈 연산으로 concatenation 가능
*연산은 리스트를 반복함(repeat)
in연산은 해당 원소가 리스트에 포함되어 있는지 확인

3) change element
리스트 내 원소를 변경
바꾸고 싶은 원소의 인덱스 i를 이용하여 color1[i]=(바꾸고 싶은 value)

4) remove, append element
remove(특정원소), del (list이름)[index]로 원소를 제거
append는 원소를 추가하고 extend는 리스트를 추가
insert는 인덱스 값에 원소를 추가?

5) 리스트의 메모리 저장 방식
파이썬의 리스트는 특이하게 메모리를 저장한다
다음 그림7은 a=[1,2,3], b=[3,2,1]로 선언한 상태,
a,b가 각 리스트의 메모리 주소를 가리킨다

b=a를 한다면 b는 더 이상 [3,2,1]을 가리키지 않고 [1,2,3]을 가리킨다

b=a를 한 상태에서 a의 원소를 변경하면 b의 원소도 동일하게 변경됨

b=a[:]를 이용해서 원본 복사를 하면 다르게 조작할 수 있다
혹은 import copy, copy.deepcopy()를 이용한다

728x90
'프로그래밍 > Python' 카테고리의 다른 글
파이썬의 예외 처리(try except) (0) | 2021.12.21 |
---|---|
enumerate와 zip (0) | 2021.12.19 |
urlopen을 할 때 HTTP Error 403: Forbidden error가 난다면 (0) | 2021.12.19 |
list comprehension (0) | 2021.12.18 |
빅데이터분석기사 3회 대비 실전 벼락치기 (0) | 2021.12.04 |