● 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
'개발일기 > Python' 카테고리의 다른 글
[Python] 기본적인 자료구조 - 그래프(Graph) (0) | 2023.04.24 |
---|---|
[Python] 알고리즘 효율성 분석 (0) | 2023.04.24 |
[Python] 알고리즘 - 최대 공약수 구하기(유클리드 알고리즘) (0) | 2023.03.14 |
[Python] 알고리즘 - 최대값찾기 (0) | 2023.03.14 |
[Python] 기본적인 자료구조 - 리스트(list), 스택, 큐 (0) | 2023.03.14 |