[python] 데이터 구조 (리스트, 튜플, 셋, 사전)

혜진·2024년 8월 1일

Python

목록 보기
1/16
post-thumbnail

파이썬

강력하고 다재다능한 고급 프로그래밍 언어로, 다양한 라이브러리와 프레임워크를 통해 데이터 분석, 웹 개발, 인공지능 등 여러 분야에서 널리 사용되고 있다.

리스트 (List) 특성

  • 순서가 있고, 0부터 시작
  • 값 변경이 가능
  • 중복된 데이터를 허용
  • 임의의 데이터를 저장 가능

📑 리스트 기본 사용법

a = [1, 2, 3]
b = [10, a, 20.5, True, '문자열']

print(a)  # [1, 2, 3]
print(b)  # [10, [1, 2, 3], 20.5, True, '문자열']

📑 리스트 조작

busor = ['개발부', '총무부', '영업부', '관리부']
print('부서 목록 : ', busor)
print('부서 목록수 : ', len(busor))
print(busor[2])  # 영업부

📑 리스트 데이터 추가 및 삭제

busor.append('영업2부')
busor.remove('총무부')
busor.insert(0, '총무2과')
busor.extend(['개발2부', '개발3부'])
busor += ['영업3부']
print(busor)  # ['총무2과', '개발부', '영업부', '관리부', '영업2부', '개발2부', '개발3부', '영업3부']

📑 데이터 찾기

print(busor.index('개발부'))  # 1
print('영업2부' in busor, '관리3부' in busor)  # True False

📑 리스트 슬라이싱 및 데이터 변경

aa = [1, 2, 3, ['a', 'b', 'c'], 4, 5]
aa[0] = 100  # 1 -> 100
aa[3][0] = 'good'
print(aa)  # [100, 2, 3, ['good', 'b', 'c'], 4, 5]

📑 리스트 데이터 삭제 및 정렬

aa.remove(4)
del aa[4]
print(aa)  # [100, 2, 3, ['good', 'b', 'c']]

aa[3].remove('c')
del aa[3][0]
print(aa)  # [100, 2, 3, ['b']]

aa = [3, 1, 5, 2, 4, 4]
aa.sort()
print(aa)  # [1, 2, 3, 4, 4]

aa.sort(reverse=True)
print(aa)  # [4, 4, 3, 2, 1]

print(aa.pop(0))  # 4
print(aa)  # [4, 3, 2, 1]

📑 리스트 계산 예제

chars = []
seq = '대한 민국은 korea'
for k in seq:
    chars.append(k)
print(chars)

students = [[90, 85, 70], [100, 100, 100], [99, 98, 97]]
name = ['톰', '제임스', '찰스']

for i, score in enumerate(students):
    total = sum(score)
    ave = total / len(score)
    print(f'{name[i]}=>총점:{total}, 평균:{round(ave)}')

튜플 (Tuple) 특성

  • 리스트와 유사하나, 읽기 전용
  • 중복을 허용

📑 튜플 사용법

t = ('a', 'b', 'c', 'a')
print(t)  # ('a', 'b', 'c', 'a')

p = (1, 2, 3)
q = list(p)
q[1] = 10
p = tuple(q)
print(p)  # (1, 10, 3)

print(p[1:])  # (10, 3)

t1 = (10, 20)
a, b = t1
a, b = b, a
t2 = (a, b)
print(t2)  # (20, 10)

셋 (Set) 특성

  • 순서와 중복된 데이터를 저장 불가

📑 셋 사용법

a = {1, 2, 3, 1}
print(a)  # {1, 2, 3}

b = {3, 4}
print(a.union(b))  # {1, 2, 3, 4}
print(a.intersection(b))  # {3}

b.update({6, 7})
b.update([8, 9])
b.update((8, 9))
print(b)  # {3, 4, 6, 7, 8, 9}

b.add(10)
b.discard(7)
b.remove(6)
print(b)  # {3, 4, 8, 9, 10}

li = [1, 2, 3, 1]
s = set(li)
li = list(s)
print(li)  # [1, 2, 3]

사전 (Dictionary) 특성

  • 키-값 쌍으로 이루어짐
  • 순서가 없음
  • 키를 통해 값 조회

📑 사전 사용법

dic = {'파이썬': '뱀', '자바': '커피', '스프링': '용수철'}
print(dic)
dic['데이터베이스'] = '오라클'
del dic['데이터베이스']
print(dic)

friend = {'body': '테스트', 'test1': '테스트2', 'test2': '테스트3'}
print(friend['test1'])
print(friend.keys())
print(friend.values())
print('body' in friend)
print('test1' in friend)

for k in friend.keys():
    print(k, end=':')
print()
for v in friend.values():
    print(v, end=',')

0개의 댓글