코인시던스의 기록

[#8 파이썬 기초]리스트 항목 일부 추출(slicing), 리스트에 항목 추가, 삭제하는 법 본문

파이썬

[#8 파이썬 기초]리스트 항목 일부 추출(slicing), 리스트에 항목 추가, 삭제하는 법

코인시던스 2020. 10. 9. 17:28

 

 

   1. 리스트 슬라이싱 (List Slicing)

- 문자열의 Slicing 과 동일하게 리스트의 일부분을 추출해 오는 것입니다.

- 리스트(List) 타입의 슬라이싱(Slicing) 결과는 리스트(List) 타입으로 나타나는데요

- : 앞뒤로 시작 인덱스(Index)와 끝 인덱스(Index)를 적어주면 됩니다. 그 사이의 리스트를 가지고 오며, 마지막 인덱스는 포함하지 않습니다. 아래의 예시를 보면 더 이해가 쉬우실거에요. (Index 의 개념은 [#5 파이썬 기초] 를 참고해주세요.)

 

[4:7] 은 4번째 인덱스 부터 6번째 인덱스까지를 추출합니다.(마지막 인덱스 7 은 포함하지 않으므로.)  [:5] 처럼 시작 Index 가 생략되어 있는 것은 0 부터 시작하는 것으로 간주합니다. [3:] 처럼 끝 Index 가 생략되어 있는 것은 끝 Index 까지로 간주합니다. [:] 시작, 끝 둘 다 생략하는 것은 처음부터 끝까지로 간주하기 때문에 전체를 Copy 하는것과 같은 효과이겠죠?

 

문자열과 마찬가지로 리스트에도 멤버함수가 굉장히 많은데 많이 사용하는 것 위주로 설명하겠습니다.

 ※ 멤버 함수란 생성된 리스트 객체에 동작하는 함수로, 향후 클래스의 개념과 함께 하겠습니다.

tab 을 눌러보시면 멤버함수를 볼 수 있습니다. 여기서 다루지 않는 것도 하나씩 실행해보세요~

   2. 리스트 추가 / 삭제 / Index 확인

   (1) 리스트의 추가

  ① append 함수, append() : 리스트 끝에 항목을 추가합니다.

append 함수를 이용해 원소 10 이 List 에 추가된 것을 확인할 수 있습니다.

 ② extend 함수, extend() : 리스트를 연장해줍니다.

- append 함수는 리스트 자체가 하나의 항목으로 추가 되지만, extend 함수를 사용하면 항목들을 리스트에 추가할 수 있습니다. 자세한 내용은 아래의 예시를 참조해 주세요.

append 함수를 사용했더니 리스트 자체가 하나의 항목으로 추가되었죠?
extend 함수를 사용하면 다른 리스트를 리스트 항목으로 추가할 수 있습니다.

 ③ insert 함수, insert() : 리스트에서 원하는 위치에 항목을 추가할 수 있습니다.

- append 함수는 마지막 위치에만 추가할 수 있지만, insert 함수는 원하는 위치에 항목을 추가할 수 있습니다. , 앞에는 Index 를 , 뒤에는 추가하고자 하는 item 을 적어주면 됩니다.

 1번째 Index 에 40 이라는 값을 추가하고 싶다면 a.insert(1, 40) 라고 적으면 되겠죠?

  (2) 리스트 삭제

 ① remove 함수, remove() : 리스트의 항목을 삭제할 수 있습니다.

- shift+tab 을 누르면 함수 사용법을 확인할 수 있는데 아래에 (value, /) 라고 적혀 있는게 보이시죠? 

- 지우고자하는 항목을 () 안에 넣어주시면 됩니다. 

- 리스트에 동일한 항목이 여러 개 있다면 제일 앞의 것만 삭제합니다.

위의 함수 설명에 보시면 Remove first occurence of value. 라고 적혀 있습니다.첫 번째 30 만 삭제된 것을 볼 수 있죠?

- 지우고자하는 항목이 없다면 에러가 발생합니다.

리스트에 9 라는 항목이 없는데 remove 함수에 넣어줬더니 에러가 뜹니다.

② pop 함수, pop() : 원소를 지움과 동시에 지우고자 하는 값을 반환 시켜줍니다.

반환의 개념은 나중에 함수의 개념에 대해 설명하면서 더 자세히 다루겠습니다.

- remove 함수와 다르게 value(값) 으로 지우는 것이 아니라 index 로 항목을 삭제합니다.

shift + tab 으로 함수 설명을 살펴보면 index 로 항목을 remove 하는 것을 알 수 있죠?

- pop 함수는 값을 지우기도 하지만 그 값을 가지고 와서 새로운 변수에 담는 역할도 합니다.

 

Comments