안녕하세요. 궁금증연구소입니다.
오늘 포스팅 주제는 "파이썬 딕셔너리 꿀팁"입니다.
1. 리스트 2개로 딕셔너리 만들기
리스트 2개가 주어졌을 때, 위와 같은 형태로 리스트 내포를 통해 쉽게 딕셔너리를 만들어 낼 수 있다. 인덱스 값을 활용해 리스트 각각의 값을 튜플 형태로 리스트 안에 저장해서, 하나의 리스트 값을 dict() 함수의 매개변수로 넘겨주는 형태이다.
두 번째 방법은 zip 함수를 활용하는 것이다.
zip 함수의 매겨변수로 리스트 값을 각각 넘겨주고 이를 통째로 dict 함수의 매개변수로 넘겨주면 아래와 같은 결괏값을 얻을 수 있다. 개인적으로 zip을 이용하는 게 쉽지만, 둘 다 알아두면 상황에 따라 써먹기 좋을 듯하다.
2. 딕셔너리의 unpack 값은 key값만 전달된다.
dic = {10: 'kim', 20: 'mun', 30: 'lee'}
a,b,c = dic
print(a,b,c)
위와 같이 딕셔너리 dic을 a, b,c 라는 변수에 unpack 하면 a ,b, c에 어떤 값이 들어갈까?
a에 10:'kim이라는 딕셔너리의 key, value 값이 모두 들어갈 것 같지만, 실제로 실행해보면 key 값만 저장된다는 것을 알 수 있다.
마찬가지로 for문을 통해 값을 빼내도 key값만 빠져나온다.
dic = {10: 'kim', 20: 'mun', 30: 'lee'}
for v in dic:
print(v)
위 코딩의 결괏값은 10,20,30으로 키값만 print 되는 것을 볼 수 있다.
dic = {10: 'kim', 20: 'mun', 30: 'lee'}
if 10 in dic:
print('10이 존재합니다.')
in 함수를 통해 딕셔너리 안의 값을 확인할 때에도, 값 in dictionary 형태로 코드를 작성하면, 딕셔너리 내의 키값을 기준으로 값이 존재하면 True, 존재하지 않으면 False가 리턴된다.
만약, key값과 value 값 모두 출력해내고 싶다면 어떻게 해야 할까?
dic = {10: 'kim', 20: 'mun', 30: 'lee'}
for a,b in dic.items() :
print(a,b)
위와 같이 items() 함수와 for문을 이용해 unpack을 하면 두 값을 모두 출력해 낼 수 있다.
[python, 파이썬] code runner 한글깨짐 현상 고치기 (0) | 2021.12.27 |
---|---|
[파이썬, python] ERROR: Could not find a version that satisfies the requirement pyside2 (from versions: none)ERROR: No matching distribution found for pyside2 (0) | 2021.12.23 |
[파이썬,python] TypeError: dict expected at most 1 argument, got 3 (0) | 2021.12.13 |
[파이썬,python] return 과 print의 차이점 (0) | 2021.11.24 |
[파이썬,python] is, == 의 차이점은? (0) | 2021.11.23 |