요소 추가 함수
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]
*
최근에는 컴퓨터의 성능이 너무 좋아
대부분의 라이브러리들이
비파괴적 함수로 사용이 된다고 한다.
'프로그래밍 > Python' 카테고리의 다른 글
기초) 딕셔너리 정리 (0) | 2020.05.23 |
---|---|
기초) list와 for 반복문 / 문제 해결 발상의 중요성 (0) | 2020.05.22 |
기초) list 기본 정리 (0) | 2020.05.21 |
기초) bool ( ) 함수와 pass 키워드 (0) | 2020.05.21 |
기초) elif / else 구문 (0) | 2020.05.21 |