ComputerLanguage_Program/PYTHON
[PYTHON] 두 개의 dict 내 구성요소 일치여부를 판단하기
pbj0812
2021. 8. 29. 13:18
0. 목표
- 두 개의 dict 일치여부를 판단하기
1. 실습
1) 데이터 생성
- 데이터는 같으나 순서가 다름
obj1 = {'title':'abc', 'people':['Bob', 'Lee'], 'people2':('Bob', 'Lee')}
obj2 = {'title':'abc', 'people':['Lee', 'Bob'], 'people2':['Lee', 'Bob']}
2) 일치여부 확인
- False
obj1 == obj2
3) 각 dict 의 key 와 values 를 정렬하여 출력하는 함수 제작
- 타입이 str 이었을때는 길이가 스펠링의 길이이기 때문에 예외조항 걸어둠(추가적인 조항이 필요할 수 있음)
def dict_order(inp):
tmp = []
tmp_key = inp.keys()
tmp_key = sorted(list(tmp_key))
tmp_values = []
for i in tmp_key:
if type(inp[i]) == str:
tmp_values.append(inp[i])
else:
tmp2 = sorted(list(inp[i]))
tmp_values.append(tmp2)
return tmp_key, tmp_values
4) 두 개의 dict 의 key 와 values 를 각각 비교
def dict_compare(inp1, inp2):
inp1_key, inp1_values = dict_order(inp1)
inp2_key, inp2_values = dict_order(inp2)
if inp1_key == inp2_key:
a = 1
else:
a = 0
if inp1_values == inp2_values:
b = 1
else:
b = 0
c = a + b
if c == 2:
return True
else:
return False
5) 결과
- True
dict_compare(obj1, obj2)