요소 추가 함수

 

 

 

 

1. append (object)

리스트에 요소를 추가.

 

 

 

a = [1 ,2, 3]

a.append (4)

a = [1, 2, 3 ,4]

 

 

 

 

 

2. insert ( index, object )

원하는 위치를 지정해 요소를 추가.

 

 

 

a = [1 ,2, 3]

a.insert(0, 0)

a = [0, 1, 2, 3]

 

 

 

 

 

3. extend ( iterable )

iterable은 반복될 수 있는

요소를 뜻하는데 기능은

여러 요소를 추가하고 싶을 때

사용한다고 기억하자.

 

 

 

a = [1,2,3]

a.extend( [ 4,5,6 ] )

a = [ 1, 2, 3, 4, 5 ,6 ]

 

 

 

 

 


 

 

 

 

 

요소 제거 함수

 

 

 

 

 

1. index로 제거

 

 

 

 

두 가지 방법이 있다.

 

 

 

 

: del 연산자사용

 

 

 

 

범위 지정도 가능

 

 

 

 

 

 

 

: pop( ) 함수사용

 

 

 

 

 

 

 

 

 

 

pop( ) 함수의 특징으로는

삭제할 값을 출력하여 보여준다는 것과

매개변수에 아무 값도 넣지 않으면

자동으로 -1, 마지막 요소가 설정됨.

 

 

 

 

 

 

 

2. 값으로 제거

 

 

 

- remove( ) 함수사용

 

 

특징으로는 리스트 요소 중

단 하나의 값 만 제거한다.

 

 

 

 

 

 

 

 

동일한 값이 반복되어도

전체가 모두 삭제되는 것이 아닌

맨 앞에 있는 요소 하나만 삭제된다.

 

 

 

 

*여러 개의 값을 모두 삭제하고 싶다면

clear ( )라는 함수를 사용하거나

이후에 공부할 while 반복문과

조합해 사용,

 

 

 

filter( ) 함수를 사용하거나

list 내포 ( list comprehension)라는

기능을 사용할 수 있다.

 

 

 

 

 

 


 

 

 

 

파괴적 함수와 비파괴적 함수

 

 

 

 

 

1. 비파괴적 함수

 

자기 자신을 파괴하지 않는 함수로

함수를 적용하기 전과 후의 값이

동일하다.

 

 

 

예)

 

 

아래 a라는 변수가 있다.

a = "takudaddy"

 

 

a에 문자열 함수를 사용해

값을 변환시켜 보자.

 

 

a.upper()

=>"TAKUDADDY"

 

 

대문자로 변환되어 값이 출력 되지만

곧바로 a를 실행시켜 보면

원래 값인 소문자 "takudaddy"

가 출력된다.

 

 

upper 함수를 사용하기 전이나 후나

a 값은 동일하다. 이와 같은 것을

비파괴적 함수라고 부른다.

 

 

 

 

 

 

2. 파괴적 함수

 

 

 

 

함수를 적용하기 전과 후의 값이

달라진다. 리스트의 함수들은

대부분 파괴적이다.

 

 

아닌 경우도 있지만 구분하는 게

조금 어렵다고 하며 대학교 1~2학년

객체지향 프로그래밍 언어 실습의

단골 문제라고 한다.

 

 

예)

a = [1 ,2, 3]

a.append (4)

a = [1, 2, 3 ,4]

 

 

a의 값이 변했다.

 

 

 

 

 

 

*팁

 

 

 

혹 리스트의 함수를

비파괴적으로 사용하고 싶다면

 

 

 

1. 연산자를 활용해

사용하는 방법이 있다.

 

 

 

예)

a = [1,2,3]

a + [4]

=> [1, 2, 3, 4]

 

a

=> [1,2,3]

 

 

 

 

2. 새로운 변수를 추가해 사용

 

 

 

a = [1,2,3]

b = a + [4]

 

a

=>[1,2,3]

 

b

=>[1,2,3,4]

 

 

 

 

 

*

최근에는 컴퓨터의 성능이 너무 좋아

대부분의 라이브러리들이

비파괴적 함수로 사용이 된다고 한다.

 

728x90

+ Recent posts