Python

happiyoung_·2026년 4월 23일

codingtest

목록 보기
6/6

절대적인 제 기준에서 파이썬 헷갈리거나 꼭 기억할 문법 정리하는 공간입니다.

list 자료형

하나의 카테고리 내부에 여러가지 자료를 저장할 때 사용하는 자료형

  • 인덱스가 부여된다는 특징 (0부터 시작)
  • 데이터 분석 관점에서 여러개의 정보를 하나의 변수공간에 순차적으로 담을 수 있다는 점이 매력적

list 자료형에 쓰이는 함수

추가

# 초기 리스트 정의 list = []
# 리스트에 요소 추가
list_.append('happiyoung')

정렬

정렬은 탐색을 편리하게 해준다는 점에서 꼭 필요한 함수이다.

  • 오름차순 정렬을 한다면 n 번째 원소는 n-1까지보다는 적어도 무조건 크다는 의미를 내포
  • 내림차순 정렬을 한다면 n번째 원소는 n-1까지보다는 적어도 무조건 작다는 의미를 내포

위의 두가지 정의를 이용해서 정렬 후에 편하게 원소에 접근가능

# 정렬
list_ = sorted(list_, [정렬할 조건 명시])

정렬 조건

  1. reverse = True/False
  2. key=lambda x: x[1] # 특정 요소 기준 정렬
  3. sorted(data, key=lambda x: (x[0], x[1])) # x[0] 오름차순, 그다음 x 오름차순
  4. sorted(data, key=lambda x: (x[0], -x[1])) # x[0] 오름차순, 그 안에서 x 내림차순
  5. 길이 기준 정렬: sorted(words, key=lambda x: len(x))
  6. 문자열 슬라이싱 활용: sorted(s, key=lambda x: (x.split()[1], x.split()

인덱스와 값을 모두 추출하고싶을때

enumerate() 함수를 사용하여, 반복문에 넣어서 인덱스와 함께 반환

list_ = ["happiyoung", "unhappy"]

for index, value in enumerate(list_):
# => 이렇게 인덱스와 값을 모두 사용하여 반복문내에서 지지고 볶고~
	print(index, value) # 0happiyoung \n 1unhappy

dict 자료형

key와 value 쌍을 가지고 있어서, key를 통해 바로 접근가능하기 때문에 검색이 빠르다는 장점을 가진다.

  • 유형이 명확하게 정해진 검색을 하고자 한다면 딕셔너리 자료형이 필수

dict 자료형에 쓰이는 함수

생성

dict_ = {"name" : "happiyoung", "job" : "developer" }

출력, 변경

dict_["name"] # happiyoung
dict_["job"] # developer

dict_["job"] = "home-protector"
dict_["lover"] = ["mom", "dad", "sisters"]

키, 값

# key 확인
dict_.keys # dict_keys(["name", "job"])

# value 확인
dict_.values # dict_values (["happiyoung", "developer"])

# (key,value) 쌍으로 확인
dict_.items() # dict_items ([("name", "happiyoung"), ("job", "developer")]

zip

좌측, 우측 날을 맞춰서 1:1 매칭을 통해 이어 붙이는 zipper 처럼
두 리스트를 길게 쭉 열을 맞춰 나열한 다음 매칭해서 가져오는 함수

...
for key, value in zip(dict_.keys(), dict_.values()):

슬라이싱/인덱싱

문자열이나, 리스트 같이 여러 원소가 모여있는 집합에서 각각의 요소에 접근하고자 한다면 이 개념을 사용하면 된다.

  • 슬라이싱을 통해 문자열의 일부분을 잘라온다.
  • 인덱싱을 통해 특정 자리에 있는 값를 가져온다.
list_[0] # 0번째 요소를 가져오겠다.
list_[0:3] # 0부터 3-1 까지 요소를 가져오겠다.
list_[::2] # 전체 원소범위에서 1칸씩 건너서 가져오겠다.

내장함수

# 합계 (boolean 자료형도 sum 가능, True : 1, False : 0 )
sum(list_)
# 최댓값
max(list_)
# 최소값
min(list_)
# 항목의 개수
len(list_)
# 반올림
round(1.2323, 2)

문자열

text = "happiyoung is unhappy"
# 문자 변경
text = text.replace("unhappy", "happy")
# 문자열도 리스트처러 슬라이싱 가능
# 문자열 분리
text.split() # 띄어쓰기 단위 분리
text.split('h') # 문자단위 분리

0개의 댓글