Python : 사전 목록에서 목록 항목 필터링

암비
 names = ['vapp1', 'vapp3', 'vapp4', 'vapp2']

vapps = [{'name':'vapp2', 'ip': '11.21.18.24', 'obj': 'obj523'}, {'name':'vapp3', 'ip': '11.21.18.27', 'obj': 'obj234'}, {'name':'vapp5', 'ip': '11.21.18.25', 'obj': 'obj246'}]


result = [vapp for vapp in vapps if vapp['name'] in names]
print result

이 목록 / 사전 이해력을 사용하여 원하는 결과를 얻고 있습니다. 그러나 나는 또한 그것을 인쇄 할 vapp1vapp4거기에 없습니다 vapps.

가장 효율적인 방법은 무엇입니까? 또는이 모든 것을 달성하기 위해 추가 루핑을 피하는 방법으로 목록에서 이름이 공통된 사전의 필터링 된 목록을 얻을 수 names있습니다. 또한 거기에없는 이름도 인쇄 할 수 있습니다.

ch3ka

다음 과 같이 단락을 남용 할 수 있습니다 and.

>>> result = [vapp for vapp in vapps if
...           vapp['name'] in names and
...           (names.remove(vapp['name']) or 1)]
>>> names # now contains names not found in vapps
['vapp1', 'vapp4']

이것은 이전과 동일한 결과 목록을 생성하고 names부작용으로 발견 된 vapp 이름을 제거하도록 수정 합니다.

이것은 and문 ( vapp['name'] in names) 의 첫 부분이 인 경우에만 절이 평가 되기 때문에 작동합니다 True. or 1부분 때문에 필요한 .remove()생산량 None이며, False부울 컨텍스트.

부작용이있는 목록 이해는 일반적으로 나쁜 스타일로 사용하지 않는 것이 좋습니다. names목록이 수정되므로 다시 필요하면 사본을 저장하는 것이 좋습니다.

일반적으로 성능에 대해 걱정하지 말고 두 개의 루프를 사용하거나 읽기 쉬운 클래식 루프로 작성하십시오.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Python : 사전 목록에서 목록 항목 필터링

분류에서Dev

Python에서 중첩 된 목록 이해를 사용하여 목록에서 항목 필터링

분류에서Dev

목록 필터링의 Python 사전

분류에서Dev

키를 기반으로 Python에서 사전 목록 필터링

분류에서Dev

Python : 여러 사전 목록에서 빈 문자열 필터링

분류에서Dev

Python에서 람다 + 필터를 사용한 목록 필터링

분류에서Dev

Maya에서 Python을 사용하여 목록 / 조건 필터링

분류에서Dev

목록 목록을 사용하여 목록 목록 필터링

분류에서Dev

사전의 Python 필터 목록

분류에서Dev

각 사전의 한 항목이 배열 일 때 사전 목록에서 Python pandas 데이터 프레임 생성

분류에서Dev

Python : 목록 내에서 목록 복사

분류에서Dev

vb.net의 목록에서 사전 필터링

분류에서Dev

사전 목록에서 각 항목에 대해 가장 낮은 값을 필터링합니다.

분류에서Dev

Python : 이전 항목을 사용하여 목록 사전에 새 항목 추가

분류에서Dev

Python의 사전 목록에서 목록 사전 만들기

분류에서Dev

Python을 사용하여 목록 목록에서 유사한 항목 찾기

분류에서Dev

Python-키 값이 다른 목록의 모든 항목을 포함하는지 여부를 기준으로 사전 목록 필터링

분류에서Dev

하위 문자열 목록으로 사전 목록 필터링

분류에서Dev

목록 열의 Pyspark 필터링 항목

분류에서Dev

목록보기 항목 필터링

분류에서Dev

합계가 11 인 목록 목록에서 목록 필터링

분류에서Dev

목록 필터링

분류에서Dev

Python : 문자열 목록을 사용하여 사전 키 필터링

분류에서Dev

Python을 사용하여 사전 값의 튜플 목록에서 항목 정렬

분류에서Dev

Android에서 recyclerView로 전달하기 전에 목록 항목을 처리하고 필터링하는 방법

분류에서Dev

Pandas 열의 목록에서 항목 필터링

분류에서Dev

항목 목록에서 필터링하는 방법

분류에서Dev

드롭 다운 목록에서 선택한 항목 필터링

분류에서Dev

Python : 목록 사전의 항목에 해당하는 조회 키

Related 관련 기사

  1. 1

    Python : 사전 목록에서 목록 항목 필터링

  2. 2

    Python에서 중첩 된 목록 이해를 사용하여 목록에서 항목 필터링

  3. 3

    목록 필터링의 Python 사전

  4. 4

    키를 기반으로 Python에서 사전 목록 필터링

  5. 5

    Python : 여러 사전 목록에서 빈 문자열 필터링

  6. 6

    Python에서 람다 + 필터를 사용한 목록 필터링

  7. 7

    Maya에서 Python을 사용하여 목록 / 조건 필터링

  8. 8

    목록 목록을 사용하여 목록 목록 필터링

  9. 9

    사전의 Python 필터 목록

  10. 10

    각 사전의 한 항목이 배열 일 때 사전 목록에서 Python pandas 데이터 프레임 생성

  11. 11

    Python : 목록 내에서 목록 복사

  12. 12

    vb.net의 목록에서 사전 필터링

  13. 13

    사전 목록에서 각 항목에 대해 가장 낮은 값을 필터링합니다.

  14. 14

    Python : 이전 항목을 사용하여 목록 사전에 새 항목 추가

  15. 15

    Python의 사전 목록에서 목록 사전 만들기

  16. 16

    Python을 사용하여 목록 목록에서 유사한 항목 찾기

  17. 17

    Python-키 값이 다른 목록의 모든 항목을 포함하는지 여부를 기준으로 사전 목록 필터링

  18. 18

    하위 문자열 목록으로 사전 목록 필터링

  19. 19

    목록 열의 Pyspark 필터링 항목

  20. 20

    목록보기 항목 필터링

  21. 21

    합계가 11 인 목록 목록에서 목록 필터링

  22. 22

    목록 필터링

  23. 23

    Python : 문자열 목록을 사용하여 사전 키 필터링

  24. 24

    Python을 사용하여 사전 값의 튜플 목록에서 항목 정렬

  25. 25

    Android에서 recyclerView로 전달하기 전에 목록 항목을 처리하고 필터링하는 방법

  26. 26

    Pandas 열의 목록에서 항목 필터링

  27. 27

    항목 목록에서 필터링하는 방법

  28. 28

    드롭 다운 목록에서 선택한 항목 필터링

  29. 29

    Python : 목록 사전의 항목에 해당하는 조회 키

뜨겁다태그

보관