반응형
사전 목록에 값이 이미 있는지 확인 하시겠습니까?
다음과 같이 Python 사전 목록이 있습니다.
a = [
{'main_color': 'red', 'second_color':'blue'},
{'main_color': 'yellow', 'second_color':'green'},
{'main_color': 'yellow', 'second_color':'blue'},
]
다음과 같이 특정 키 / 값이있는 사전이 목록에 이미 있는지 확인하고 싶습니다.
// is a dict with 'main_color'='red' in the list already?
// if not: add item
한 가지 방법은 다음과 같습니다.
if not any(d['main_color'] == 'red' for d in a):
# does not exist
괄호 안의 부분 True
은 찾고있는 키-값 쌍이있는 각 사전에 대해 반환하는 생성기 표현식입니다 False
.
키가 누락되었을 수도있는 경우 위의 코드를 통해 KeyError
. get
기본값 을 사용 하고 제공 하여이를 수정할 수 있습니다 .
if not any(d.get('main_color', None) == 'red' for d in a):
# does not exist
도움이 될 수 있습니다.
a = [{ 'main_color': 'red', 'second_color':'blue'},
{ 'main_color': 'yellow', 'second_color':'green'},
{ 'main_color': 'yellow', 'second_color':'blue'}]
def in_dictlist((key, value), my_dictlist):
for this in my_dictlist:
if this[key] == value:
return this
return {}
print in_dictlist(('main_color','red'), a)
print in_dictlist(('main_color','pink'), a)
아마도 다음과 같은 기능이 당신이 추구하는 것입니다.
def add_unique_to_dict_list(dict_list, key, value):
for d in dict_list:
if key in d:
return d[key]
dict_list.append({ key: value })
return value
반응형
'Programing' 카테고리의 다른 글
파이썬에서 문자열을 어떻게 분할하고 구문 분석 할 수 있습니까? (0) | 2020.08.17 |
---|---|
MSBUILD : 오류 MSB1008 : 하나의 프로젝트 만 지정할 수 있습니다. (0) | 2020.08.17 |
부트 스트랩 모달 : 토글시 배경이 맨 위로 이동 (0) | 2020.08.17 |
leftAnchor와 leadingAnchor의 차이점은 무엇입니까? (0) | 2020.08.17 |
C ++에서 문자열을 가변 횟수로 반복하는 방법은 무엇입니까? (0) | 2020.08.17 |