본문 바로가기

python

[자료구조] 리스트

728x90

#자료구조

 

#리스트

1. 생성

-> split함수는 문자열을 공백 기준으로 나눠서 리스트에 넣어주는 함수이다. 파라미터로 글자를 넣으면 그 글자를 기준으로 자르는데, 이때 해당 글자는 리스트에 포함되지 않는다.

 

 

2. 인덱싱, 슬라이싱

-> 인덱싱, 슬라이싱은 시퀀스 자료형만 가능한 연산이다. 쉽게 말해 인덱스, 순서가 있어야 가능하다는 말.

 

인덱싱은 인덱스 번호를 통해 값을 가져오거나 수정할 때,

슬라이싱은 인덱스 번호를 콜론(:)을 기준으로 잘라 값을 가져오거나 수정할 때 사용한다.

 -슬라이싱에서 [1:3]은 1번 인덱스에서 2번 인덱스까지만 자르라는 의미이다. 

 -[:3]은 0번 인덱스-2번인덱스.

 

 

3. 리스트 삽입

-> insert(인덱스, 추가할 값)- 첫번째 파라미터는 값이 들어갈 인덱스 자리를 넣는다

-> +연산자를 통해서 리스트에 값을 삽입할 수 있다. 하지만 문자열 온전한 상태로 들어가진 않고 음절 단위로 잘려서 들어간다.

 

4. 리스트 삭제

 

 

5. 리스트 순회

-> 리스트는 for문의 항목으로도 사용할 수 있다.

 

 

6. 리스트 합병 

-> +연산자를 통해 간단하게 합칠 수 있다. 

 

 

7. 요소 찾기

-> index(값)- 리스트 객체에 접근하여 index함수를 사용, 값을 인자로 보내주면 해당 인자가 리스트 내에 위치한 인덱스 번호를 찾아줌.

 

 

8. 리스트 정렬

-> sort() : 원본 리스트를 정렬(기본 내림차순)

    sorted() : 새로운 리스트를 생성

-> 둘다 파라미터로 reverse를 가지는데, reverse=True를 써주면 오름차순으로 정렬함.

-> 문자열도 정렬 가능

 

 

9. 리스트 복사

-> 얕은 복사는 원본 리스트의 주소값을 그대로 복사하여 새로운 리스트에 넣어주기 때문에, 두 개의 변수가 동일한 리스트를 가리키게 된다. 즉, 카피한 리스트의 값을 변경하면 원본 리스트도 변경된다는 의미. 

얕은 복사

-> 깊은 복사는 원본 리스트 자체를 그대로 복사한다. 

깊은 복사

 

10. 리스트 함축

-> 코드를 간결하게 해주는 연산. 첫번째 코드 4줄은 단 2줄로 줄일 수 있음. 

-> 마지막 코드의 출력층(g,d)를 묶은 괄호는 튜플이라고 하는데, 다음에서 설명한다