본문 바로가기
파이썬(Python)

파이썬 리스트(List) vs 튜플(Tuple) vs 딕셔너리(Dictionary) vs 집합(Set)

by 부캐 활용 IT 2023. 3. 9.
반응형

리스트 [ ]

파이썬의 리스트는 C언어의 배열과 비슷하지만 동적으로 크기를 조정할 수 있다.
즉, 리스트는 런타임 중에 새로운 요소를 추가하거나 삭제할 수 있다.
그리고 리스트는 서로 다른 유형의 데이터 타입를 포함할 수 있는 특징이 있다.

형식

리스트명 = [요소1, 요소2, 요소3, ...]
a = [1, 2, 3]
b = [4, 5, 6]
a+b


결과
[1, 2, 3, 4, 5, 6]

 

a = [1, 2, 3]
a*3            #반복


결과
[1, 2, 3, 1, 2, 3, 1, 2, 3]

 

#리스트 길이
a=[1, 2, 3]
len(a)

결과
3

 

#리스트 추가
a = [1, 2, 3]
a.append(4)
a

결과
[1, 2, 3, 4]

 

#리스트 정렬(sort)
a = [1, 4, 3, 2]
a.sort()
a

결과
[1, 2, 3, 4]

 

#리스트 뒤집기(reverse)
a = [1, 4, 3, 2]
a.reverse()
a

결과
[2, 3, 4, 1]

 

#리스트 index(x) // 리스트에 x 값이 있으면 x의 인덱스 값을 리턴한다.
a = [1, 4, 3, 2]
a.index(4)       #4는 리스트의 2번째인 a[1]에 있다.

결과
1

a.index(5)       #5는 리시트에 없으므로 오류 발생
결과
ValueError: 5 is not in list

 

리스트 요소 관리

  • append              마지막에 삽입
  • insert                 특정 위치에 삽입 
  • extend               리스트 삽입(확장)

  • remove             제거
  • del                    삭제
  • remove             요소의 값으로 제거
  • pop                   특정 위치 요소 제거, 위치를 표시하지 않으면 마지막 요소 제거
  • clear                  모두 제거

  • count                지정한 값이 몇개 있는지 알려줌
list = [1,2,3,4,5]
print(list)
list.append(6)
print(list)
list.insert(0, 10)
print(list)
list.extend([100, 200, 300])
print(list)
del list[0]
print(list)
list.pop()
print(list)
list.remove(200)
print(list)
list.append(3)
print(list)
print(list.count(3))
print(len(list))
결과

[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 6]
[10, 1, 2, 3, 4, 5, 6]
[10, 1, 2, 3, 4, 5, 6, 100, 200, 300]
[1, 2, 3, 4, 5, 6, 100, 200, 300]
[1, 2, 3, 4, 5, 6, 100, 200]
[1, 2, 3, 4, 5, 6, 100]
[1, 2, 3, 4, 5, 6, 100, 3]
2
8

 

튜플 ( )

리스트는 삽입 및 수정이 가능(mutable)하나 튜플은 고정된(immutable) 자료형이다.
리스트는 대괄호([ ])로 요소를 감싸고, 소괄호(( ))로 요소를 감싼다.
리스트는 데이터를 동적으로 변경하거나 추가해야 하는 경우에 주로 사용하고, 튜플은
함수에서 여러개의 값을 반환할 때 주로 사용된다.

형식

튜플명 = (요소1, 요소2, 요소3, ...)
a = 10,    #요소가 1개 일때 소괄호 없이 표현가능하나 가독성을 위해 a = (10,)과 같이 표현함
type(a)

결과
tuple
t=('han', 10, 200)
t= t * 2               # 튜플은 고정이나, 이 경우는 새로운 튜플이 만들어 진 경우로 값이 바뀐것이 아님
t

결과
('han', 10, 200, 'han', 10, 200)

 

 

딕셔너리   {   }

딕셔너리(dictionary)는 키(key)와 값(value)을 연결하여 데이터를 저장하는 자료형이다.
키는 유일하고 변경 불가능한 자료형(문자열, 숫자, 튜플 등)을 사용하며, 값은 모든 자료형을 사용할 수 있다.
딕셔너리는 중괄호({})로 표시하며, 사전과 같이 키(Key)와 값(Value)으로 구성된다.
키와 값이 쌍으로 묶여 있기 때문에, 검색이나 데이터 관리가 필요한 경우에 유용하다.

dic = { 'name' : 'javahan', 'age' : 70}
dic['name']

결과
'javahan'
dic = { '부서': '총무부', '이름':'홍길동'}
dic.keys()

결과
dict_keys(['부서', '이름'])



dic = { '부서': '총무부', '이름':'홍길동'}
dic.values()

결과
dict_values(['총무부', '홍길동'])


dic = { '부서': '총무부', '이름':'홍길동'}
dic.items()

결과
dict_items([('부서', '총무부'), ('이름', '홍길동')])

 

dic = { '부서': '총무부', '이름':'홍길동'}

for k in dic.keys():
  print(k)
  
  
결과
부서
이름

 

집합

  • 중복을 허용하지 않는 자료형
  • 순서가 없으며, 합집합, 교집합, 차집합 등의 연산이 가능
  • 중괄호({})나 set() 함수를 사용하여 표현하며, 각 요소는 쉼표(,)로 구분
  • 예시: {1, 2, 3, 4, 5}, set([2, 4, 6, 8, 10])
  • 중복된 요소를 허용하지 않기 때문에, 데이터의 중복을 제거하거나 고유한 값만 추출해야 하는 경우에 유용
  • 데이터의 집합 연산이 필요한 경우에도 유용
s1 = set([1,2,3])
s2 = set([3,4,5])

print(s1 & s2)  #교집합
print(s1 | s2)  #합집합
print(s1 - s2)  #차집합
반응형

'파이썬(Python)' 카테고리의 다른 글

파이썬 메모이제이션 (Python memoization)  (0) 2023.03.12
Python map이란  (0) 2023.03.12
파이썬의 내장함수(Built-in Functions)  (0) 2023.03.09
파이썬(Python) 기본 문법  (0) 2023.03.09
파이썬(Python)이란?  (0) 2023.03.08

댓글