본문 바로가기
개발/파이썬공부

파이썬 := 연산자와 dict()에 대해서

by beomcoder 2023. 2. 15.
728x90
반응형

프로그래머스를 풀고 있었는데 생소한 연산자가 있어서 알려주려고 한다.

:= 라는 연산자인데 파이썬 3.8부터 사용할 수 있다.

## 1번 코드 -> 일반 코드
s='walrus eat kimchi' ## s에 문자열을 할당
result = 'walrus' in s ## 'walrus' in s를 result에 할당
if result: ## result가 True라면
    print(s) ## s 출력
    print(result) ## result 출력
 
 
## 2번 코드 -> := 사용
## s에 문자열을 할당하고, 'walrus' in s를 result에 할당하고, result가 True 라면
if result := 'walrus' in (s := 'walrus eat kimchi'):
    print(s)  ## s 출력
    print(result) ## result 출력

 

그리고 dict()에 대해 알았다. 나는 아래의 표에서 db를 0번째 인덱스를 key,

1번째 인덱스를 value로 만들기 위해서 딕셔너리내포구문으로 해결했다.

 

def solution(id_pw, db):
    db = {info[0]:info[1] for info in db}
    if id_pw[0] in db.keys():
        if id_pw[1] == db[id_pw[0]]:
            return 'login'
        else:
            return 'wrong pw'
    else:
        return 'fail'

 

하지만 dict()를 쓰면 알아서 key, value로 나눠준다는 것이다.

 

def solution(id_pw, db):
    # db = {info[0]:info[1] for info in db}
    db = dict(db)
    print(db)
    # if id_pw[0] in db.keys():
    #     if id_pw[1] == db[id_pw[0]]:
    #         return 'login'
    #     else:
    #         return 'wrong pw'
    # else:
    #     return 'fail'

 

728x90
반응형

댓글