개발일기/Python

[Python] 리스트(List)관련 자주 쓰이는 기능 정리

코딩하는빵친자 2023. 3. 14. 16:06

● Python에서 list란?

→  정보 여러 개를 하나로 묶어 저장하고 관리할 수 있는 기능

 숫자 여러개는 파이썬의 리스트 기능을 이용하면 쉽게 관리 가능

 리스트는 대괄호[] 안에 정보 여러개를 쉼표(,)로 구분하여 적는다.

 

◆ 리스트에서 자주 쓰이는 기능

len(A)

: 리스트길이(자료 개수)를 구한다.

ex) len(A), len( [1, 2, 3] )

 

♥ append(x)

: 자료 x를 리스트의 맨 뒤에 추가한다.

ex) A.append(4)

 

♥ insert(i,x) 

: 리스트의 i번 위치에 x를 추가한다.

ex) A.insert(0, 5) #0번 위치에 원소5를 추가한다.

 

♥ pop(i)

: i번 위치에 있는 자료를 리스트에서 빼내면서 그 값을 함수의 결과값으로 돌려준다. i를 지정하지 않으면 맨 마지막 값을 빼서 돌려준다. 스택과 큐에 적합하다

ex) A.pop()

 

♥ clean()

: 리스트의 모든 자료를 지운다.

ex) A.clean()

 

♥ del A[:]

: del은 실무에서 많이 사용, 범위 지정가능

ex) del A[1:3]

 

♥ x in A

: x가 리스트 A안에 있는지 확인한다. (x not in A는 반대결과)

ex) 2 in A

◆ del , pop , remove 차이점

예를 들어 리스트 a = [1,2,3,4,5,3]이 있다고 하자

a.remove(3)   #a = [1,2,3,4,5,3]
v = a.pop()   #a = [1,2,4,5]이고 v=3
a.pop(i)      #a = [1,4,5]
del a[0]      #a=[4,5]
del a         #리스트가 없어진다.

◆ extend , append 차이점

→ 사실상 둘은 선호도의 문제?라고 할 수 있다. 

a = [1,2,3]
a.extend(4) #error!
b = [1,2,3]
b.append(4) #b=[1,2,3,4]
c = [1,2,3]
c.extend([4]) #c=[1,2,3,4]
d = [1,2,3]
d.append([4]) #d=[1,2,3,[4]]

append는 원소를 추가하고 extend는 리스트를 더한다. 

* [1] * 5 = [1,1,1,1,1] 가능

a = [1,2,3]
b = [4,5]
a = a + b #두 리스트를 더해 새 리스트를 만든다(c = a+b)
a.extend(b) #새로운 리스트를 기존 리스트에 붙인다.

비슷해보이지만 알고리즘 부분에서는 extend가 효율적이라고 한다!

728x90