[python]기초문법4

1 minute read

리스트(list)

순서가 있는 목록, 대괄호[]로 요소(element)를 감싼다.
순서가 있기때문에 데이터가 중복될 수 있다.
자료형에 관계 없이 넣을 수 있고, 리스트안에 리스트를 중첩으로 넣을 수 도 있다.

s = ['a','b',1,2,3,True]
s[0] //'a'

리스트에 사용할 수 있는 연산자

  • , * , in , not in
[1,2,3]+[1,2,3]
=>[1,2,3,1,2,3]
3
 * [1,2,3]
=> [1,2,3,1,2,3,1,2,3]

1 in [1,2,3]
=>True

100 in [1,2,3]
=>False

100 not in [1,2,3]
=>True

리스트의 요소 추가함수

append(object) : list의 끝에 요소를 삽입

a = [1,2,3]
a.append(4)
=>[1,2,3,4]

insert(index,object) : 원하는 index에 요소를 삽입

a.insert(1,1)
=>[1,1,2,3,4]

extend(iterable) : iterable 요소를 삽입하여 list를 확장

a.extend([5,6,7])
=>[1,1,2,3,4,5,6,7]

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

비파괴적 함수

: 함수가 실행했을때만 결과가 바뀌고, 이후에는 원본 데이터를 파괴하지않고 그대로 유지함

a = 'hello'
a.upper() // 'HELLO'
a // 'hello'
b = a.upper()
b//'HELLO'

파괴적 함수

: 함수 실행 이후에는 원본 데이터가 파괴되어 다른 데이터가 됨.

a = [1,2,3]
a //[1,2,3]
a.append(4)
a//[1,2,3,4]

비파괴적 함수를 사용하면 개발 중 실수를 줄일 수 있고, 컴퓨터 성능에도 부담을 줄일 수 있다.
대부분의 라이브러리는 비파괴적인 함수를 사용한다.

리스트의 요소 제거

인덱스로 제거하는 방법과 값으로 제거하는 방법이 있음

인덱스로 제거

del 연산자

a = [1,2,3,4,5]
del a[1]
a // [2,3,4,5,]
del a[0:2]
a //[4,5]

prp() 함수

a = [1,2,3,4,5,6,7]
a.pop(1) //2
a //[1,3,4,5,6,7]

매개변수 없이 .pop()을 하면 자동으로 맨 끝 데이터가 지워짐

값으로 제거

remove()

a = [100,200,300]
a.remove(100)
a // [200,300]

remove() 는 값을 하나만 지울 수 있다. 중복되는 요소가 있어도 하나만 지운다.

a = [1,1,1,1]
a.remove(1)
a //[1,1,1]

list내의 모든 요소를 제거하는 함수

clear() 

Leave a comment