파이썬에서 다르게 중첩 된 사전과 목록을 비교하고 교차점을 찾는 방법은 무엇입니까?

iMax

이제 두 가지 (다소 복잡한) 목록 / 사전이 있습니다. 첫 번째는 이미지 이름과 16 진수 이미지 픽셀 색상을 포함합니다. 따라서 다음과 같이 보입니다.

{
0: {'hex': ['#c3d6db', '#c7ccc0', '#9a8f6a', '#8a8e3e'], 'filename': 'imag0'}, 
1: {'hex': ['#705b3c', '#6a5639', '#442f1e', '#4a3d28'], 'filename': 'img-xyz'},
…
}

따라서이 경우에는 2 x 2 px 2 개의 이미지가 있습니다.
두 번째 사전에는 많은 16 진수 값이 키로, ID가 값으로 포함되어 있습니다. 다음과 같이 보입니다.

{'#b0a7aa': '9976', '#595f5b': '19367', '#9a8f6a': '24095'…}

이제 제가하고 싶은 것은 두 번째 목록 중 하나와 일치하는 내 이미지 (첫 번째 목록)의 색상 값이 있는지 확인하는 것입니다. 그렇다면 첫 번째 목록의 파일 이름과 두 번째 목록의 일치하는 키의 ID 값을 알고 싶습니다.

어떻게 이걸 달성 할 수 있습니까?

Martijn Pieters

사전보기 객체사용 하여 hex목록과 16 진수 사전 사이의 교차점을 생성합니다 .

for entry in images.values():
    for key in hexidmap.keys() & entry['hex']:
        print('{} {} {}'.format(entry['filename'], key, hexidmap[key]))

& 키 세트와 16 진수 값 목록 사이의 교차점을 생성합니다.

위는 Python 3을 사용하고 있다고 가정합니다. 대신 Python 2를 사용 dict.viewkeys()하는 경우 .keys().

데모:

>>> images = {
... 0: {'hex': ['#c3d6db', '#c7ccc0', '#9a8f6a', '#8a8e3e'], 'filename': 'imag0'},
... 1: {'hex': ['#705b3c', '#6a5639', '#442f1e', '#4a3d28'], 'filename': 'img-xyz'},
... }
>>> hexidmap = {'#b0a7aa': '9976', '#595f5b': '19367', '#9a8f6a': '24095'}
>>> for entry in images.values():
...     for key in hexidmap.keys() & entry['hex']:
...         print('{} {} {}'.format(entry['filename'], key, hexidmap[key]))
...
imag0 #9a8f6a 24095

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

파이썬에서 중첩 목록을 사전에 병합하는 방법은 무엇입니까?

분류에서Dev

파이썬에서 중첩 된 사전을 2 번 정렬하는 방법은 무엇입니까?

분류에서Dev

파이썬에서 중첩 목록 사전을 단순화하는 방법은 무엇입니까?

분류에서Dev

중첩 된 사전이있는 목록을 csv 파일에 작성하는 방법은 무엇입니까?

분류에서Dev

파이썬에서 두 중첩 목록의 각 요소의 교차점을 얻는 방법은 무엇입니까?

분류에서Dev

파이썬에서 직사각형 교차점을 찾는 방법은 무엇입니까?

분류에서Dev

루프를 통해 사전과 목록을 사전에 중첩하는 방법은 무엇입니까?

분류에서Dev

파이썬을 사용하여 HTML 파일에 중첩 된 목록을 인쇄하는 방법은 무엇입니까?

분류에서Dev

Plotly : 두 선 사이의 교차점을 찾고 주석을다는 방법은 무엇입니까?

분류에서Dev

다중 중첩 사전에서 값을 정렬하고 파이썬에서 처음 n 개의 값을 선택하는 방법은 무엇입니까?

분류에서Dev

중첩 목록 (파이썬)을 사전으로 그룹화하는 방법은 무엇입니까?

분류에서Dev

목록에서 다음 항목을 참조하고 이전 항목과 비교하는 방법은 무엇입니까?

분류에서Dev

따옴표없이 파일에서 중첩 된 목록을로드하는 방법은 무엇입니까?

분류에서Dev

중첩 목록에서 dateutil을 사용하는 방법은 무엇입니까?

분류에서Dev

파이썬 - 목록과 사전을 반복하는 것은 중첩 된 목록 출력을 얻을 수 있습니다

분류에서Dev

중첩 된 목록 (목록)을 제거하는 방법은 무엇입니까?

분류에서Dev

두 목록에 중첩 된 사전에서 값을 가져 오는 방법은 무엇입니까?

분류에서Dev

"json"중첩 사전을 Python과 JavaScript에서 동일하게 해시하는 방법은 무엇입니까?

분류에서Dev

파이썬 (생성기 표현식)에서 문자열을 중첩 된 사전으로 변환하는 방법은 무엇입니까?

분류에서Dev

R : 중첩 된 목록을 data.frame에 "중첩 해제"하는 방법은 무엇입니까?

분류에서Dev

파이썬의 인덱스 경로에서 중첩 된 목록의 값을 반환하는 함수를 작성하는 방법은 무엇입니까?

분류에서Dev

Terraform : 목록 내 중첩 된 맵 목록에서 값을 선택하는 방법은 무엇입니까?

분류에서Dev

파이썬에서 하나의 값 nside 중첩 목록을 제거하는 방법은 무엇입니까?

분류에서Dev

파이썬에서 탁월한 중첩 목록을 작성하는 방법은 무엇입니까?

분류에서Dev

파이썬에서 중첩 목록을 평면화하는 방법은 무엇입니까?

분류에서Dev

파이썬은 중첩 된 사전 목록을 만듭니다.

분류에서Dev

동일하지만 다르게 생성 된 중첩 사전의 키에 값을 할당하면 다른 결과가 나오는 이유는 무엇입니까?

분류에서Dev

중첩 된 JSON 배열 내에서 배열을 비교하는 방법은 무엇입니까?

분류에서Dev

정수 값을 찾고 비교 한 다음 주 파일을 전송하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    파이썬에서 중첩 목록을 사전에 병합하는 방법은 무엇입니까?

  2. 2

    파이썬에서 중첩 된 사전을 2 번 정렬하는 방법은 무엇입니까?

  3. 3

    파이썬에서 중첩 목록 사전을 단순화하는 방법은 무엇입니까?

  4. 4

    중첩 된 사전이있는 목록을 csv 파일에 작성하는 방법은 무엇입니까?

  5. 5

    파이썬에서 두 중첩 목록의 각 요소의 교차점을 얻는 방법은 무엇입니까?

  6. 6

    파이썬에서 직사각형 교차점을 찾는 방법은 무엇입니까?

  7. 7

    루프를 통해 사전과 목록을 사전에 중첩하는 방법은 무엇입니까?

  8. 8

    파이썬을 사용하여 HTML 파일에 중첩 된 목록을 인쇄하는 방법은 무엇입니까?

  9. 9

    Plotly : 두 선 사이의 교차점을 찾고 주석을다는 방법은 무엇입니까?

  10. 10

    다중 중첩 사전에서 값을 정렬하고 파이썬에서 처음 n 개의 값을 선택하는 방법은 무엇입니까?

  11. 11

    중첩 목록 (파이썬)을 사전으로 그룹화하는 방법은 무엇입니까?

  12. 12

    목록에서 다음 항목을 참조하고 이전 항목과 비교하는 방법은 무엇입니까?

  13. 13

    따옴표없이 파일에서 중첩 된 목록을로드하는 방법은 무엇입니까?

  14. 14

    중첩 목록에서 dateutil을 사용하는 방법은 무엇입니까?

  15. 15

    파이썬 - 목록과 사전을 반복하는 것은 중첩 된 목록 출력을 얻을 수 있습니다

  16. 16

    중첩 된 목록 (목록)을 제거하는 방법은 무엇입니까?

  17. 17

    두 목록에 중첩 된 사전에서 값을 가져 오는 방법은 무엇입니까?

  18. 18

    "json"중첩 사전을 Python과 JavaScript에서 동일하게 해시하는 방법은 무엇입니까?

  19. 19

    파이썬 (생성기 표현식)에서 문자열을 중첩 된 사전으로 변환하는 방법은 무엇입니까?

  20. 20

    R : 중첩 된 목록을 data.frame에 "중첩 해제"하는 방법은 무엇입니까?

  21. 21

    파이썬의 인덱스 경로에서 중첩 된 목록의 값을 반환하는 함수를 작성하는 방법은 무엇입니까?

  22. 22

    Terraform : 목록 내 중첩 된 맵 목록에서 값을 선택하는 방법은 무엇입니까?

  23. 23

    파이썬에서 하나의 값 nside 중첩 목록을 제거하는 방법은 무엇입니까?

  24. 24

    파이썬에서 탁월한 중첩 목록을 작성하는 방법은 무엇입니까?

  25. 25

    파이썬에서 중첩 목록을 평면화하는 방법은 무엇입니까?

  26. 26

    파이썬은 중첩 된 사전 목록을 만듭니다.

  27. 27

    동일하지만 다르게 생성 된 중첩 사전의 키에 값을 할당하면 다른 결과가 나오는 이유는 무엇입니까?

  28. 28

    중첩 된 JSON 배열 내에서 배열을 비교하는 방법은 무엇입니까?

  29. 29

    정수 값을 찾고 비교 한 다음 주 파일을 전송하는 방법은 무엇입니까?

뜨겁다태그

보관