개발/파이썬공부
파이썬 := 연산자와 dict()에 대해서
beomcoder
2023. 2. 15. 18:01
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
반응형