Coding/Python

[python]list comprehension, if-elif-else

후__아 2024. 4. 24. 00:41

※ list comprehension으로 다중 if문 쓰기

for i in list:

  if 조건A:

     print("a")

  elif 조건B:

     print("b")

  else:

     print("c")

≫ print(["a" if 조건A else "b" if 조건B else "c" for i in list])

 

# 프로그래머스 lv0 qr code
# 초반 풀이
def solution(q, r, code):
    return code[r-1::q] if r>0 else code[r::q-1]
    # ValueError: slice step cannot be zero  # q=1, r=0일 때 오류!
    
    # 수정 후
    return code[r::q] if r>0 else code if q==1 else code[r::q-1]
    # 테스트 케이스 오류... # 인덱스!!!! 정신차리자
    
    # 최종
    return code[r::q] if r>0 else code if q==1 else code[r::q]
    
    # 다른 사람 풀이ㅋㅋㅋ...왜 되는데 이게 왜 난 뭘 한건데
    return code[r::q]
# 프로그래머스 lv1 음양 더하기
def solution(absolutes, signs):
    return sum([absolutes[i] if x == True else -absolutes[i] for i,x in enumerate(signs)])
    # 다른 사람 풀이
    return sum(absolutes if sign else -absolutes for absolutes, sign in zip(absolutes, signs))