시퀸스 자료형: str, list, tuple
1. 리스트 자료형
리스트 자료형은 자유도와 활용도가 매우 높아 파이썬 개발자들에게 자주 사용되는 자료형이다.
리스트는 반복 가능한(iterable)한 자료형이며 수학에서 배운 배열을 일반화 한 것으로 생각하면 쉽다.
리스트 자료형의 여러 메소드
append: 특정 값을 리스트의 마지막 자리에 원소로써 추가한다.
pop: 리스트의 마지막 원소를 추출 및 반환한다.
count: 리스트 내에 특정 값이 얼마나 존재하는지 빈도수를 확인한다.
index: 특정 값이 존재하는 인덱스를 반환(여러개가 있다면 가장 낮은 인덱스를 반환)
remove: 리스트에서 특정값의 원소를 제거(여러개가 있다면 가장 낮은 인덱스를 제거)
sort: 리스트의 원소들을 정렬(ascending order가 기본값, reverse옵션으로 조절 가능)
reverse: 리스트의 원소들을 마지막 인덱스에서부터 거꾸로 정렬
len: literable한 객체 안에 몇개의 원소가 있는지 알려주는 함수
insert: 리스트의 특정 인덱스에 특정 값을 삽입
extend: 리스트 뒤에 또 다른 리스트를 연장(리스트끼리의 +연산자와 동일하다)
*: 자기 자신의 리스트를 몇번 반복하여 뒤에 연장시킬지
myList = [0,1,2,3]
myList.append(1) ## 리스트에 원소1 추가
print(myList) ## [0,1,2,3,1]
myList.pop() ## 리스트에 가장 마지막 원소 삭제
print(myList) ##[0,1,2,3]
a = myList.count(0) ## 리스트에 0의 개수 반환
print(a) ## 1
a = myList.index(1) ## 리스트 내에서 1의 위치 반환
print(a) ## 1
myList.remove(1) ## 리스트 내에서 1제거(여러개가 있다면 가장 낮은 인덱스의 원소 제거)
print(myList) ## [0,2,3]
myList.sort() ## 리스트의 원소들을 오름차순으로 정렬
myList.sort(reverse = True) ## 리스트의 원소들을 내림차순으로 정렬
myList.insert(2,7) ## 리스트의 2번째 인덱스에 7을 추가
print(myList) ## [0,2,7,3]
myList.extend([1,2,3]) ## 리스트의 뒤에 또 다른 리스트를 추가
print(myList) ## [0,2,7,3,1,2,3]
2. 인덱싱과 슬라이싱
인덱싱: 리스트에서 원소 한개에 대한 접근
myList[5]: myList내에서 5번째 인덱스의 원소를 반환함.
슬라이싱: 리스트를 말 그대로 슬라이싱
myList[2:6]: myList의 2번째 인덱스부터 5번째 인덱스까지를 리스트로 반환
슬라이싱을 일반화 하면
myList[start:end:step]: start 인덱스부터 end-1인덱스까지 step만큼 건너뛰며 리스트로 반환
**슬라이싱의 범위는 [start,end)가 된다.
myList = [1,2,3,4,5]
print(myList[:]) ## [1,2,3,4,5]
print(myList[:3]) ## [1,2,3]
print(myList[3:]) ## [4,5]
print(myList[2:4]) ## [3,4]
또한 리스트 내의 원소들의 자료형은 일관되지 않아도 된다.
Mutable: 객체 안에 있는 원소들의 수정과 삭제가 자유롭다.
list, set, dict은 mutable자료형이고 str은 immutable자료형이다.
3. join메소드와 split메소드
join: 리스트를 문자열로 만든다.
split: 문자열을 리스트로 만든다.
hobby_list = ["Book", "Movie", "Bike", "Golf"]
hobby_str = ", ".join(hobby_list) ## "Book, Movie, Bike, Golf"
", "로 리스트의 원소들의 구분하여 문자열로
new_hobby_list = hobby_str.split(", ") ## ["Book", "Movie", "Bike", "Golf"]
어떤것을 구분으로 원소들을 리스트로(구분자)
4. 튜플:
리스트와 유사하지만 자유도가 다소 떨어진다.
1.iterable하다
2.immutable자료형으로 내부 원소의 수정, 삭제가 불가능하다.
3.튜플을 소괄호()로 감쌈으로써 표현하며 원소간의 구분은 콤마로 한다. ## (4,3,5,2,1)
4.단일 원소일 경우 콤마를 꼭 찍어줘야 인터프리터가 튜플로 인식한다. ## (4,)
5. 튜플도 리스트처럼 인덱싱과 슬라이싱 가능 ## print(myTuple[0]), print(myTuple[:3])
6. 튜플의 자료형이 일관되지 않아도 된다. ## (4,'e',1)
리스트와 동일하게 count, index 등과 같은 메소드를 지원하며 iterable하기 때문에 len, max, min 사용가능하다.
+와 * 연사자 지원 리스트와 동일
**단 extend메소드는 tuple.__add__() 의 형태로 튜플에 지원된다.
'💂군대 > KAIST ICT Academy' 카테고리의 다른 글
MO9 - 문자열과 입출력 (7) | 2024.09.18 |
---|---|
MO8 - 사전과 집합 (1) | 2024.09.18 |
MO6 - 함수 매개변수와 반환값 (0) | 2024.09.04 |
MO5 - 함수의 정의와 호출 (0) | 2024.08.21 |
MO4 - 조건문 (0) | 2024.08.07 |