- 여러 요소를 담을 수 있는 자료형이 필요
- 리스트, 튜플, 딕셔너리 → 여러 요소를 담을 수 있는 자료형, 각각 다른 특징을 지님
- 리스트는 아무 데이터나 저장할 수 있다. 숫자형, 문자형 혼합해서 사용가능
- 순서를 가진다
- → 인덱싱과 슬라이싱이 가능하다.
- 가장 많이 사용하는 자료형
- [ ] 대괄호 사용
- 리스트 만들어보기
a = []
b = [1, 2, 3]
c = ['Life', 'is', 'too', 'short']
d = [1, 'Life', 2, 'is']
- 리스트도 연산이 가능하다
- 리스트 인덱싱과 슬라이싱
- 리스트 인덱싱
- 리스트 안의 특정한 값을 뽑아낸다
a = [1, 2, 3] b = ["Life", "is", "too", "short"] print(a[0]) print(a[-1]) #>>>1 #3
- 리스트 안에 리스트를 포함
- 리스트 안에 리스트 안에 또 리스트가 올 수 있다(삼중리스트)
a = [1, 2, ['a', 'b', ['life', 'is']]] print(a[2][2][0]) #>>>'life'
- 리스트 슬라이싱
- 이중 리스트 슬라이싱
a = [1, 2, 3, ['a', 'b', 'c'], 4, 5] print(a[:5]) >>>[1, 2, 3, ['a', 'b', 'c'], 4] #위 리스트 a 에서 'b', 'c'를 출력 (인덱싱 + 슬라이싱) print(a[3][1:]) >>>'b', 'c'
- #리스트 0번자리부터 1번자리까지 슬라이싱하기 a = [1, 2, 3, 4, 5] print(a[:2]) #>>>[1, 2]
- 인덱싱을 사용하여 내용을 수정할 경우
a = [1, 2, 3] a[0] = ['a1', 'b1', 'c1'] print(a) #>>>[['a1', 'b1', 'c1'], 2, 3]
- → 인덱싱은 a[0] 자리에 리스트가 그대로 들어간다.리스트의 수정과 삭제
- 리스트는 자료들의 집합이기에 인덱싱으로 데이터 수정이 가능 (문자열 인덱싱과의 차이!)
a = [1, 2, 3] a[2] = 4 print(a) #>>>[1, 2, 4]
- 슬라이싱을 사용하여 내용을 수정할 경우→ 커서 1과 2 사이에 들어간다.
- → 리스트로 삽입되는 것이 아닌 내용이 스며든다.
- 리스트에서 값 삭제
- 빈 리스트를 추가하여 제거하는 방법
- a = [['a1', 'b1', 'c1'], 'a', 'b', 'c', 3] a[1:3] = [] print(a) #>>>[['a1', 'b1', 'c1'], 'c', 3]
- del 함수를 사용하는 방법
a = [['a1', 'b1', 'c1'], 'c', 3] del a[0] print(a) >>>['c', 3]
- → del a[]
- 리스트 인덱싱
- 리스트 관련 함수들
- 문자열과 마찬가지로 a.함수명() 형태로 사용
- 리스트에 요소 추가(append)
- append 함수는 인자를 하나만 받을 수 있다.
a = [1, 2, 3] a.append(4) print(a) >>>[1, 2, 3, 4] #만약 a = [1, 2, 3] print(a.append(4)) >>>None #append 함수는 a의 값을 변경시켜주는 함수 # -> a = a + 4로 추가 시켜주는 작업을 해주는 함수기 때문에 #추가하는 과정 이후 print로 출력시켜줘야함. #리스트도 추가 가능 a = [1, 2, 3, 4] a.append([5, 6]) print(a) >>>[1, 2, 3, 4, [5, 6]]
- 리스트 정렬(sort)
- 오름차순으로 정리해주는 것이다.
- 정수 자료형과 문자열 자료형이 혼합한 상태에서는 리스트 안에서 정렬이 불가하므로 자료형을 맞춰주어야 한다.
💡 숫자, 대문자, 소문자 순으로 정렬된다.a = [1, 4, 3, 2] a.sort() print(a) #>>>[1, 2, 3, 4] #문자열도 가능하다 a = ['a', 'c', 'b'] a.sort() print(a) #>>>['a', 'b', 'c'] #문자열 단어도 가능하다. 숫자가 먼저 나옴 a = ['abc', '123', 'you need python'] a.sort() print(a) #>>>['123', 'abc', 'you need python'] #대문자가 먼저 나온다. a = ['abc', '123', 'You need python'] a.sort() print(a) #>>>['123', 'You need python', 'abc']
-
- 리스트 뒤집기(reverse)
- 현재 리스트를 역순으로 뒤집어 줌.
a = ['a', 'c', 'b'] a.reverse() print(a) #>>>['b', 'c', 'a']
- 내림차순 정렬하려면 → sort로 오름차순정렬 후 reverse()
- 리스트 요소 찾기(index)
- 리스트 자료형에서 find는 지원하지 않는다.
a = [1, 2, 3] print(a.index(3)) #>>>2 #문자열 index와 같이 없는 값을 찾으면 에러 나옴 print(a.index(0)) #>>>ValueError: 0 is not in list
- 리스트에 요소 삽입(insert)
- insert(a, b) → 리스트의 a 자리에 b를 삽입
- 리스트도 삽입이 가능하다.
a = [1, 2, 3] a.insert(0, 4) #-> 0번자리에 4를 삽입 print(a) #>>>[4, 1, 2, 3] #리스트 삽입 a = [1, 2, 3] a.insert(2, ['a', 'b']) print(a) #>>>[1, 2, ['a', 'b'], 3]
- 리스트 요소 제거(remove)
- 값 제거 (위치에 따라 제거하는 것이 아님)
a = [1, 2, 3, 1, 2, 3] a.remove(3) print(a) #>>>[1, 2, 1, 2, 3] #첫번째 값 하나만 지워진다.
- 리스트 요소 끄집어내기(pop)
- 위치에 따른 끄집어내기
- 지정하지 않으면 마지막 값을 끄집어 낸 뒤 리스트에서 제거된다.
- 괄호 안에 위치를 지정해주면 해당 위치의 값을 끄집어 낸 뒤 리스트에서 제거
a = [1, 2, 3] a.pop() >>>3 print(a) >>>[1, 2] a = [1, 2, 3] a.pop(1) >>>2 print(a) >>>[1, 3]
- 리스트 요소 개수 세기(count)
- 리스트 뒤집기(reverse)
a = [1, 2, 3, 1]
print(a.count(1))
>>>2
#문자열은 요소 그대로만 찾을 수 있다.
a = ['apple']
print(a.count('a'))
>>>0
- 리스트 확장(extend)
- 기존 리스트에 리스트를 더해주는 것 → 괄호 안에 리스트 형태로 와야함
- 더하기와 가장 유사하다.
- → insert와 append로 리스트를 추가하면 그 리스트 그래도 추가되기 때문에 차이가 있다.
a = [1, 2, 3]
a.extend([4, 5])
print(a)
>>>[1, 2, 3, 4, 5]
a = [1, 2, 3]
b = [4, 5]
c = a + b
print(c)
>>>[1, 2, 3, 4, 5]
'데이터 > Python' 카테고리의 다른 글
[코딩테스트 준비] 코딩테스트 입문자 '코드트리' 사용후기 (0) | 2024.03.02 |
---|---|
tqdm을 라이브러리 사용하여 진행률 시각화하기 (0) | 2024.02.03 |
[파이썬] 클래스 사용하기 (0) | 2023.06.18 |
[파이썬/Python] 클로저, closure (0) | 2023.01.29 |