[Python] 기본 자료형 list, dictionary, set, tuple, comprehension에 대해

orangesnail·2025년 2월 26일

Python

목록 보기
5/21

list

  • 중복된 값을 허용함
  • index로 각 값에 접근 가능
  • mutable(= 값을 추가, 삭제, 변경 가능)
nums = [1, 2, 3, 4, 5]

리스트의 최댓값 구하기 - max(리스트명)
리스트에서 중복 제거하기 - set(리스트명)

dictionary

  • key, value의 쌍으로 이루어져 있다. 이때 key는 중복될 수 없지만 value는 중복 가능하다.
  • key를 이용해서 값을 빠르게 찾을 수 있다.
  • mutable
scores = {"calico cat": 80, "tuxedo cat": 20, "tabby cat": 20}

value 전체에 접근하기 - 딕셔너리명.values()로 value를 가져올 수 있다.
가장 큰 key - max(딕셔너리명)
가장 큰 value - max(딕셔너리명, key=딕셔너리명.get) (max()의 key 파라미터를 활용한다)

set

  • 중복을 허용하지 않는 자료형
  • 합집합, 교집합, 차집합 연산이 가능하다.
set1 = {1, 2, 3, 4}
set2 = {2, 3, 5, 6}

union = set1 | set2			# 합집합
intersection = set1 & set2	# 교집합
difference = set1 - set2	# 차집합

tuple

  • 리스트처럼 여러 개의 값을 저장할 수 있지만, immutable(한번 생성되면 수정 불가능)함
nums = (100, 200, 300)

✔️ zip() 함수

zip() 은 여러 개의 리스트/튜플 등을 묶어서 하나의 튜플로 만들어준다. 여러 리스트의 요소들을 같은 인덱스끼리 묶어준다.

names, ages 리스트가 각각 있다고 칠 때,

zipped = zip(names, ages) 
print(list(zipped))

를 하면 [('name', 10), ('name2', 15), ...] 와 같은 형식으로 출력된다.

for문에도 zip()를 쓸 수 있다.

for name, age in zip(names, ages:
	print(f"{name} is {age} years old.")

comprehension

comprehension은 리스트, 딕셔너리, 집합을 빠르게 생성할 수 있는 문법이다. 굉장히 많이 쓰인다!!

squared_list = [a**2 for a in range(5)]

squared_dict = {a: a**2 for a in range(5)}

squared_set = {a**2 for a in [1, 2, 3, 4, 5]}
profile
초보입니다. 피드백 환영합니다 😗

0개의 댓글