리스트
파이썬에는 다른 언어들에서 다뤄지는 배열과 유사한 성질의 리스트(list)라는 자료구조가 존재한다. 동일한 자료형만 가질 수 있는 배열과는 달리, 리스트는 다양한 자료형을 하나의 리스트 안에 담을 수 있다.
선언 방법
a = [1,2,'a','b',"xyz"]
b = []
c = list()
d = [0]*10 #[0,0,0,0,0,0,0,0,0,0]
e = [i*2 for i in range(5)] #[0,2,4,6,8]
리스트는 위와 같은 다양한 방법을 통해 선언이 가능하다.
연산
a = [1,2,3]
b = ['a','b','c']
c = a+b #[1,2,3,'a','b','c']
d = a*3 #[1,2,3,1,2,3,1,2,3]
e = a*0 #[]
이처럼 리스트 사이의 덧셈이 가능하며, 곱셈 연산 역시 가능하다. 0을 곱하며 빈 리스트가 생성됨을 유의하자.
인덱싱
a = [1,2,3,4,5,6,7,8,9,10]
#값 접근
a[0] #1
a[-1] #10
a[1:4] #[2,3,4]
a[:3] #[1,2,3]
a[5:] #[6,7,8,9,10]
a[:] #[1,2,3,4,5,6,7,8,9,10]
#값 수정
a[2]=50
리스트의 값 접근 방법은 배열과 동일하다.
인덱스 슬라이싱을 할 땐 [시작 인덱스, 종료 인덱스+1]임을 꼭 기억하자.
슬라이싱을 할 때도 음수 인덱스를 적을 수 있다.
- 메서드
a = [1,2,3,4,5,5,6]
b = [10,20]
#길이
len(a) # 7
#값 삭제
del(a[1]) # a=[1,3,4,5,5,6]
del(a[0:2]) # a=[4,5,5,6]
a.remove(5) # a=[4,5,6]
a.pop() # a=[4,5], 6반환
#값 추가
a.append('a') # a=[4,5,'a']
a.insert(2,'x') # a=[4,5,'x','a']
#리스트 연결
a.extend(b) # a=[4,5,'x','a',10,20]
#리스트 뒤집기
a.reverse() # a=[20,10,'a','x',5,4]
#값 위치 반환
a.index(10) # 1
#모든 값 삭제
a.clear() # a=[]
리스트의 연결 메서드인 extend와 + 연산의 차이는 새로운 리스트의 생성여부라고 보면 된다. extend의 경우 a 자체에 다른 리스트가 붙는 것이고, +의 경우 새로운 리스트가 새로 생성되게 된다.
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 웹 스크래핑 라이브러리 - Selenium (0) | 2024.04.04 |
---|---|
[Python] 웹 스크래핑 라이브러리 - beautifulsoup (1) | 2024.04.03 |
[Python] PEP8 스타일 (0) | 2024.03.28 |
[Python] 큐(Queue) (0) | 2024.03.28 |
[자료구조] 정렬, 탐색 (1) | 2024.03.25 |