파이썬 기초 1-2. 리스트와 튜플 자료형

MANBOKWAK·2024년 1월 9일

파이썬 기초

목록 보기
2/15
post-thumbnail

1. 리스트 자료형

  • 다른 언어에서 사용하는 배열과 유사한 자료형

  • 여러 데이터를 저장할 수 있음

리스트 생성과 활용

  • []로 감싸주고 각 요솟값은 쉼표(,)로 구분할 수 있음

  • 리스트명 = [요소1, 요소2, 요소3,...]형식

#리스트의 생성 Example

odd = [1,3,5,7,9]
# 리스트의 종류 Example

a = []
b = [1,2,3]
c = ['Life', 'is', 'too', 'short']
d = [1,2,'Life', 'is']
e = [1,2,['Life', 'is']]
  • 리스트는 비어 있을 수 있음
  • 여러 자료형을 혼용해서 가질 수 있음

리스트의 인덱싱

  • 리스트도 문자열처럼 인덱싱과 슬라이싱이 가능
# 리스트의 인덱싱Example

a = [1,2,3]

print(a[1])  # 2

print(a[0] + a[1]) # 1 + 2 =3

print(a[-1])  # 3
  • 문자열의 인덱싱과 마찬가지로 -1은 맨마지막 인덱스를 말함
# 여러 자료형을 가지는 리스트의 활용 Example
a = [1,2,3,['a','b','c']]
print(a[3])  # ['a','b','c']

pritn(a[3][1])  # 'b'
  • 리스트에는 여러 자료형이 함께 혼용될 수 있음

  • 리스트 속 리스트의 요소에 접근하려면 2차원 배열 접근하듯이 접근하면됨 리스트[][]형식


리스트의 슬라이싱

  • 문자열과 마찬가지로 리스트에서도 슬라이싱을 적용할 수 있음
# 리스트의 슬라이싱 Example
a = [1,2,3,4,5]

print(a[0:2]) # [1,2]

b = [1,2,3, ['a','b','c'], 4,5]

print(b[2:5])  # [3, ['a','b','c'], 4,5]

print(b[3][:2]) # ['a','b']
  • 문자열 슬라이싱에서 실습 했던 모든 슬라이싱을 리스트에서 동일하게 적용할 수 있음

리스트 연산하기

  • '+' 기호를 사용해 더할 수 있음

  • '*' 기호를 사용해 반복할 수 있음

# 리스트 더하기 Example

a = [1,2,3]
b=  [4,5,6]

print(a + b)  # [1,2,3,4,5,6]
  • ' + ' 기호는 2개의 리스트를 합치는 기능을 함
# 리스트의 곱하기 Example

a = [1,2,3]

print(a * 3) # [1,2,3,1,2,3,1,2,3]
  • '*' 는 리스트를 곱한 수 만큼 반복해줌

리스트 길이 구하기

  • 리스트 길이는 len()함수를 사용해서 구할 수 있음
# 리스트의 길이 구하기 Example
a = [1,2,3]

print(len(a)) # 3

리스트의 수정과 삭제

# 리스트의 수정Example

a = [1,2,3]

a[2] = 4 

print(a)  # [1,2,4]
  • 인덱싱을 통해서 리스트 요소의 값을 변경할 수 있음
# 리스트의 삭제Example
a = [1,2,3]
del a[1]

print(a) # [1,3]

b = [1,2,3]
del [1:]

print(b) # 1
  • del 리스트[인덱스] 형식으로 리스트의 존재하는 값을 삭제할 수 있음

  • del 함수는 슬라이싱을 이용해서도 사용할 수 있음


리스트 관련 함수

append 함수

  • 리스트에 요소를 추가하는 함수

  • 리스트.append(값) 형식으로 사용

  • 리스트 안에 어떤 자료형도 추가할 수 있음

# append함수 Example

a = [1,2,3]

a.append(4)

print(a)  # [1,2,3,4]

sort 함수

  • 리스트의 요소를 순서대로 정렬해주는 함수

  • 숫자는 오름차순으로, 문자도 알파벳 순서로 정렬할 수 있음

#  sort함수 Example
a = ['a','c','b']
 
a.sort()
 
print(a) # ['a','b','c']

reverse 함수

  • 리스트를 역순으로 뒤집어주는 함수

  • 현재 리스트의 순서를 반대로 뒤집어줄뿐 정렬해서 뒤집는것이 아님

# reverse함수 Example
a = ['a', 'c','b']

a.reverse()

print(a) # ['b','c','a']

index 함수

  • index(x) 형식으로 사용

  • x의 값이 있으면 x의 인덱스를 반환해주는 함수

  • 리스트의 값이 존재하지 않으면 오류가 발생함

# index함수 Example
a = [1,2,3]

print(a.index(3)) # 2

insert 함수

  • insert(a,b) 형식으로 사용

  • 리스트의 a번째 위치에 b를 삽입하는 함수

  • 이때 인덱스는 0 부터 시작하는것에 주의해야함

# insert 함수 Example
a = [1,2,3]
a.insert(0,4)

print(a) # [4,1,2,3]

remove함수

  • remove(x)형식으로 사용

  • 리스트에서 첫 번째로나오는 x를 삭제

# remove 함수 Example
a = [1,2,3,1,2,3]

a.remove(3)

print(a)  # [1,2,1,2,3]

pop 함수

-pop() 형식은 리스트의 맨마지막 요소를 반환하고 그 요소는 삭제를 해주는 함수

  • pop(x)는 리스트의 x번째 요소를 돌려주고 그 요소는 삭제하는 함수
# pop 함수 Example
a = [1,2,3]

a.pop()

print(a) # [1,2]

b = [1,2,3]

b.pop(1)

print(b) # [2,3]

count 함수

  • count(x)형식으로 사용

  • 리스트 안에 x가 몇개 들어있는 그 개수를 카운팅 해주는 함수

# count 함수 Example
a = [1,2,3,1]

print(a.count(1)) # 2

extend 함수

  • extend(x)형식으로 사용

  • x에는 리스트만 들어갈 수 있으며 원래 리스트에 x리스트를 더해주는 함수

# extend 함수 Example
a = [1,2,3]
a.extends([4,5])

print(a) # [1,2,3,4,5]

튜플

  • 튜플은 리스트와 유사하지만 다른점이 몇가지 있음
  1. 리스트와 다르게 튜플은 ()으로 둘러싸임

  2. 튜플은 값의 생성, 삭제, 수정등이 불가능

# Tuple의 모습 Example
t1 = ()
t2 = (1,)
t3 = (1,2,3)
t4 = 1,2,3
t5 = ('a','b',('ab','cd'))
  • t2처럼 튜플이 1개의 요소를 가질때에는 반드시 요소 뒤에 ,(콤마)를 붙여주어야 함

  • t4처럼 괄호를 생략해도 무방함

  • 프로그래밍하는동안 그 값이 항상 변하지 않기를 바란다면 튜플을 사용하면됨

  • 일반적으로 값이 변하는 변수를 많이 사용하기 때문에 튜플보다는 리스트를 더 많이 사용함


튜플의 인덱싱과 슬라이싱

t1 = (1,2,'a','b')

print(t1[0]) # 1

print(t1[1:])  # 2, 'a', 'b'
  • 문자열, 리스트와 동일한 방식으로 인덱싱 할 수 있음

튜플의 더하기와 곱하기

t1 = (1,2,'a','b')
t2 = (3,4)
print(t1 + t2) # (1,2,'a','b',3,4) 
print(t2*3) # (3,4,3,4,3,4)
  • 문자열, 리스트와 동일하게 더하기와 곱하기를 사용할 수 있음

튜플의 길이

t1 = (1,2,'a','b')

print(len(51)) # 4
  • 문자열, 리스트와 동일하게 사용할 수 있음
profile
Backend/ DevOps를 지망하는 곽희상입니다.

0개의 댓글