[파이썬] 프로그래밍의 기초, 자료형 - 2 (리스트, 튜플, 불)
본문 바로가기
파이썬 시작하기

[파이썬] 프로그래밍의 기초, 자료형 - 2 (리스트, 튜플, 불)

by 동도리동동 2023. 3. 8.
반응형

숫자형과 문자열 자료형은 아래의 이전 포스팅을 참고해주세요. 

 

[파이썬] 프로그래밍의 기초, 자료형 - 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()

 

 

반응형

댓글