πŸ“–Sequence Comprehension

sequence에 데이터λ₯Ό 쑰금 더 쉽고 κ°„κ²°ν•˜κ²Œ λ‹΄κΈ° μœ„ν•œ 문법

πŸ“ŽνŠΉμ§•

  • κ°„κ²°ν•˜κ³  가독성이 μ’‹μŒ
  • 속도가 빠름
  • 가독성을 λ–¨μ–΄λœ¨λ¦΄ 수 μžˆμœΌλ―€λ‘œ λŒ€μ²΄λ‘œ ν‘œν˜„μ‹μ€ 2개λ₯Ό λ„˜μ§€ μ•Šμ•„μ•Ό 함
  • Sequenceμ—λŠ” μ „λΆ€ μ‚¬μš© κ°€λŠ₯

πŸ“–List Comprehension

  • λŒ€κ΄„ν˜Έ[]λ₯Ό μ‚¬μš©

πŸ“Žμ‚¬μš©ν–ˆμ„ λ•Œμ˜ μ½”λ“œ

list = [ν‘œν˜„μ‹ for λ³€μˆ˜λͺ… in μ‹œν€€μŠ€ if 쑰건]
list = [참일 λ•Œ κ°’ if 쑰건 else 거짓일 λ•Œ κ°’ for λ³€μˆ˜λͺ… in μ‹œν€€μŠ€]
  • if-else문을 μ“΄λ‹€λ©΄ ν‘œν˜„μ‹ 뢀뢄에 씀

πŸ“Žμ‚¬μš©ν•˜μ§€ μ•Šμ•˜μ„ λ•Œμ˜ μ½”λ“œ

list = []
for λ³€μˆ˜λͺ… in μ‹œν€€μŠ€:
    if 쑰건:
        list.append(ν‘œν˜„μ‹)

πŸ“–Set Comprehension

  • μ€‘κ΄„ν˜Έ{}λ₯Ό μ‚¬μš©

πŸ“Žμ‚¬μš©ν–ˆμ„ λ•Œμ˜ μ½”λ“œ

list = {ν‘œν˜„μ‹ for λ³€μˆ˜λͺ… in μ‹œν€€μŠ€ if 쑰건}

πŸ“Žμ‚¬μš©ν•˜μ§€ μ•Šμ•˜μ„ λ•Œμ˜ μ½”λ“œ

set = []
for λ³€μˆ˜λͺ… in μ‹œν€€μŠ€:
    if 쑰건:
        set.add(ν‘œν˜„μ‹)

πŸ“–Dictionary Comprehension

  • setκ³Ό λ™μΌν•˜κ²Œ μ€‘κ΄„ν˜Έ{}λ₯Ό μ‚¬μš©ν•˜λ©΄μ„œ key: value의 ν˜•νƒœλ‘œ λ‚΄μš©μ„ 채움

πŸ“Žμ‚¬μš©ν–ˆμ„ λ•Œμ˜ μ½”λ“œ

dict = {key: value for λ³€μˆ˜λͺ… in μ‹œν€€μŠ€ if 쑰건}

πŸ“Žμ‚¬μš©ν•˜μ§€ μ•Šμ•˜μ„ λ•Œμ˜ μ½”λ“œ

dic = dict()
for λ³€μˆ˜λͺ… in μ‹œν€€μŠ€:
    dic[key] = dic.get(key, value)