숫자형과 문자열 자료형은 아래의 이전 포스팅을 참고해주세요.
[파이썬] 프로그래밍의 기초, 자료형 - 1 (숫자형, 문자열)
[파이썬] 프로그래밍의 기초, 자료형 - 1 (숫자형, 문자열)
'파이썬 프로그래밍'을 시작하며 AI 관련 포스팅을 많이 올리다보니 앞으로도 개발자로 살아가려면, AI를 배우지 않으면 안되겠다는 생각이 많이 들었습니다. 그동안은 회사에서도 AI에 관해 넘
dongdoridong.tistory.com
1. 리스트 자료형
리스트(List)는 숫자, 문자 또는 리스트 들을 하나의 변수로 관리하기 위한 자료형 입니다.
- 리스트를 생성하는 여러가지 방법
# 빈 리스트 생성
a = list()
b = []
# 리스트 생성
c = [1, 2, 3]
d = ['Life', 'is', 'too', 'short']
e = [1, 2, 'Life', 'is']
f = [1, 2, ['Life', 'is']]
- 리스트 인덱싱과 슬라이싱
a = [1, 2, 3, ['a', 'b', 'c']]
a[0]
# 1 출력, 리스트의 1번째 값
a[0] + a[2]
# 4 출력, (리스트의 1번째 값 + 리스트의 3번째 값)
a[-1]
# ['a', 'b', 'c'] 출력, 리스트의 마지막 값
a[3][0]
# 'a' 출력, 리스트의 4번째 값 중, 1번째 값
a[-1][-1]
# 'c' 출력, 리스트의 마지막 값 중, 마지막 값
a[0:2]
# [1, 2] 출력, 1~2번째 값
a[:2]
# [1, 2] 출력, 처음부터 2번째 값까지
a[2:]
# [3, ['a', 'b', 'c']] 출력, 3번째부터 끝까지의 값
- 삼중 리스트의 인덱싱
a = [1, 2, ['a', 'b', ['Life', 'is']]]
a[2][2][0]
# 'Life' 출력
- 리스트 연산 (덧셈, 곱셈, 길이)
a = [1,2,3]
b = [4,5,6]
# 리스트 더하기(+) = [1, 2, 3, 4, 5, 6] 출력
a + b
# 리스트 반복하기(*) = [1, 2, 3, 1, 2, 3, 1, 2, 3] 출력
a * 3
# 리스트 길이 = 3 출력
len(a)
a[2] + "hi"
# TypeError 발생, 정수와 문자열을 더할 수 없음
str(a[2]) + "hi"
# '3hi' 출력
- 리스트 수정과 삭제 (del, remove(), pop())
# 리스트 값 수정
a = [1, 2, 3]
a[2] = 4
a
# [1, 2, 4] 출력
# 리스트 요소 삭제 1 - del
a = [1, 2, 3]
del a[1]
a
# [1, 4]
a = [1, 2, 3, 4, 5]
del a[2:]
a
# [1, 2]
# 리스트 요소 삭제 2 - remove()
a = [1, 2, 3, 1, 2, 3]
a.remove(3)
# [1, 2, 1, 2, 3] 출력, 첫번째 3만 삭제
# 리스트 요소 삭제 3 - pop()
a = [1, 2, 3, 4]
a.pop()
# 4 출력, 리스트의 마지막 요소를 반환하고, 삭제
a
# [1, 2, 3] 출력
a.pop(0)
# 1 출력, 리스트의 1번째 요소를 반환하고, 삭제
a
# [2, 3] 출력
- 리스트 관련 함수 9가지 (append(), sort(), reverse(), index(), insert(), remove(), pop(), count(), extend())
# 1. 리스트에 요소 추가 - append()
a = [1, 2, 3]
a.append(4)
a
# [1, 2, 3, 4] 출력
a.append([5,6])
a
# [1, 2, 3, 4, [5, 6]] 출력
# 2. 리스트 정렬 - sort()
a = [1, 4, 3, 2]
a.sort()
a
# [1, 2, 3, 4] 출력
# 3. 리스트 뒤집기 - reverse()
a = ['a', 'c', 'b']
a.reverse()
a
# ['b', 'c', 'a'] 출력
# 4. 위치 반환 - index()
a = [1, 2, 3]
a.index(3)
# 2 출력
a.index(0)
# Value Error : '0 is not in list' Error 발생
# 5. 리스트에 요소 삽입 - insert()
a = [1, 2, 3]
a.insert(0, 4)
# [4, 1, 2, 3] 출력, [0] 위치에 4 삽입
a.insert(3, 5)
# [4, 1, 2, 5, 3] 출력, [3] 위치에 5 삽입
# 6. 리스트 요소 삭제 - remove()
a = [1, 2, 3, 1, 2, 3]
a.remove(3)
# [1, 2, 1, 2, 3] 출력, 첫번째 3만 삭제
# 7. 리스트 요소 삭제 - pop()
a = [1, 2, 3, 4]
a.pop()
# 4 출력, 리스트의 마지막 요소를 반환하고, 삭제
a
# [1, 2, 3] 출력
a.pop(0)
# 1 출력, 리스트의 1번째 요소를 반환하고, 삭제
a
# [2, 3] 출력
# 8. 리스트에서 요소의 개수 - count()
a = [1, 2, 3, 1]
a.count(1)
# 2 출력, 1의 개수
# 9. 리스트 확장 - extend()
a = [1, 2, 3]
a.extend([4, 5])
a
# [1, 2, 3, 4, 5] 출력, 기존 리스트에 새로운 리스트 추가
b = [6,7]
a.extend(b)
a
# [1, 2, 3, 4, 5, 6, 7] 출력
2. 튜플 자료형
튜플(Tuple)은 리스트와 유사하지만, 몇가지 다른점이 존재합니다.
- 리스트는 [ ] 기호를 사용하고, 튜플은 ( ) 기호를 사용한다.
- 리스트의 값은 생성, 수정, 삭제가 가능하지만, 튜플은 값을 바꿀 수 없습니다. (TypeError 발생)
- 튜플은 1개의 요소만 가질 때에도, 콤마(,)를 반드시 붙여야 합니다. ex) tuple1 = (1,)
- 튜플은 ( ) 기호를 생략해도 무방하다 ex) tuple2 = 1, 2, 3
- 튜플을 생성하는 방법
t1 = ()
t2 = (1,)
t3 = (1, 2, 3)
t4 = 1, 2, 3
t5 = ('a', 'b', ('ab', 'cd'))
- 튜플 다루기
리스트의 활용 방법과 동일하다.
# 1. 인덱싱
t1 = (1, 2, 'a', 'b')
t1[0] # 1 출력
t1[3] # 'b' 출력
# 2. 슬라이싱
t1 = (1, 2, 'a', 'b')
t1[1:] # (2, 'a', 'b') 출력
# 3. 튜플 더하기
t1 = (1, 2, 'a', 'b')
t2 = (3, 4)
t1 + t2 # (1, 2, 'a', 'b', 3, 4) 출력
# 4. 튜플 곱하기
t2 = (3, 4)
t2 * 3 # (3, 4, 3, 4, 3, 4) 출력
# 5. 튜플 길이 구하기
t1 = (1, 2, 'a', 'b')
len(t1) # 4 출력
3. 불 자료형
불(Bool) 자료형은 True와 False를 나타내는 자료형입니다.
a = True
b = False
type(a) # <class 'bool'> 출력
type(b) # <class 'bool'> 출력
불 자료형은 주로 조건문에서, 반환 값으로 사용됩니다.
1 == 1 # True 출력
2 > 1 # True 출력
2 < 1 # False 출력
if (2 > 1) :
print("2는 1보다 크다.")
else :
print("2는 1보다 작다.")
- 자료형의 참과 거짓
자료형 | 값 예시 | True or False |
문자열 | "Python" | True |
"" | False | |
리스트 | [1, 2, 3] | True |
[] | False | |
튜플 | () | False |
딕셔너리 | {} | False |
숫자형 | 0이 아닌 숫자 | True |
0 | False | |
None | False |
자료형 자체에 True와 False가 있다는 특징은 중요한 특징이며, 자주 활용됩니다. 위 표를 보면 알겠지만, 보통 비어있는 자료형들이 False 값을 갖게 됩니다. 이러한 특징은 아래와 같이 활용될 수 있습니다.
# 리스트의 요소를 마지막부터 하나씩 출력
a = [1, 2, 3, 4]
while a:
a.pop()
'파이썬 시작하기' 카테고리의 다른 글
[파이썬] 프로그래밍의 구조, 클래스 (객체, 생성자, 상속, 오버라이딩) (0) | 2023.04.23 |
---|---|
[파이썬] 프로그래밍의 기초, 자료형 - 3 (딕셔너리) (2) | 2023.03.10 |
[파이썬] 프로그래밍의 기초, 자료형 - 1 (숫자형, 문자열) (4) | 2023.02.23 |
댓글