파이썬 컴프리헨션에 익숙해지기

SUSU·2023년 11월 25일
0

코드를 간결하게 작성할 수 있는 컴프리헨션..
익숙해 지려고하면 까먹고 익숙해 지려고 하면 까먹고
아무래도 지금 플젝에선 전혀 코딩 안하니까 그만큼 더 자주 보려고 해야하는데
생각난 김에 예제 검색해서 정리해봤돠.

리스트 컴프리헨션

  1. 1부터 10까지의 제곱 값 리스트:
 # 컴프리헨션
  squares = [x**2 for x in range(1, 11)]
  
  # 컴프리헨션 사용하지 않고 작성시
  squares = []
  for x in range(1, 11):
    squares.append(x**2)
    
  1. 짝수인 숫자만 포함하는 리스트:
 # 컴프리헨션
  even_numbers = [x for x in range(1, 11) if x % 2 == 0]
  
 # 컴프리헨션 사용하지 않고 작성시
   even_numbers = []
   for x in range(1, 11):
       if x % 2 == 0:
           even_numbers.append(x)

딕셔너리 컴프리헨션

  1. 키와 값이 같은 딕셔너리:
 # 컴프리헨션
  identity_dict = {x: x for x in range(1, 6)}

 # 컴프리헨션 사용하지 않고 작성시
  identity_dict = {}
  for x in range(1, 6):
      identity_dict[x] = x
  
  1. 짝수인 숫자와 그 제곱 값으로 이루어진 딕셔너리:
 # 컴프리헨션
  even_squares = {x: x**2 for x in range(1, 11) if x % 2 == 0}
  
 # 컴프리헨션 사용하지 않고 작성시 
  even_squares = {}
  for x in range(1, 11):
      if x % 2 == 0:
          even_squares[x] = x**2
  1. 문자열을 잘라 키, 값으로 설정하는 딕셔너리
 # 컴프리헨션
  sentence_dict = {x[0]:x[2:] for x in sentence}

 # 컴프리헨션 사용하지 않고 작성시 
   sentence_dict = {}
   for x in sentence:
      key = x[0]
      value = x[2:]
      sentence_dict[key] = value

세트 컴프리헨션

  1. 1부터 10까지의 제곱 값 세트:
 # 컴프리헨션
  squares_set = {x**2 for x in range(1, 11)}
  
 # 컴프리헨션 사용하지 않고 작성시
  squares_set = set()
  for x in range(1, 11):
      squares_set.add(x**2)
  1. 1부터 10까지의 홀수 세트:
 # 컴프리헨션
  odd_set = {x for x in range(1, 11) if x % 2 != 0}
  
 # 컴프리헨션 사용하지 않고 작성시
 odd_set = set()
 for x in range(1, 11):
     if x % 2 != 0:
         odd_set.add(x)
profile
기록용

0개의 댓글