Q
반복 처리가
0
A
답변
2
보다 일반적인 방법은 발생기 표현의 끝에서 if
바꾸어 필터와 같은 방법을 사용하고있다. 당신이 hasattr
와 필터링, 모든 반복 가능한 값을 반복하려면
:
invalid = set(['c', 'd'])
for key in (k for k in dict if key not in invalid):
....
당신 경우 :
for key in (k for k in dict if hasattr(dict[k], '__iter__')):
for item in dict[key]:
print(item)
을 일부 키를 제외 할 경우, 필터 '하지에서 "사용 특정 키만 선택하려면 "in"필터를 사용하십시오.
valid = set(['a', 'b'])
for key in (k for k in dict if key in valid):
....
1
: 같은 파괴적인 뭔가의
for each in dict['a']:
# do something
pass
for each in dict['b']:
# do something
pass
을
은In [29]: from itertools import chain
In [30]: mydict = {'a': [1, 2, 3], 'b': [3, 4, 5], 'c': 6}
In [31]: for item in chain(mydict['a'], mydict['b']):
...: print(item)
...:
1
2
3
3
4
5
list
인 사전의 키 값은 단지을 사용하십시오.
wanted_key = ['a', 'b']
for item in chain.from_iterable(mydict[key] for key in wanted_key if isinstance(mydict[key], list)):
# do something with the item
2
SSDMS의 것과 비슷합니다. 당신은 또한 할 수 있습니다 :
mydict = {'a': [1, 2, 3], 'b': [3, 4, 5], 'c': 6} for each in mydict['a']+mydict['b']: ....
관련 문제
- 1. 반복 처리가
- 2. 반복 처리가
- 3. Backbone.PageableCollection 반복 처리가 작동하지 않습니다.
- 4. Outlook 전자 메일 반복 처리가 느림
- 5. NSMutableArray 반복 처리가 제대로 작동하지 않습니다.
- 6. ResultSet을 통한 Java 반복 처리가 중간에 중단됩니다.
- 7. 사용자를 통한 반복 처리가 메일러 방식으로 작동하지 않는 이유는 무엇입니까?
- 8. 프롤로그에서 문자열 처리가 가능합니까?
- 9. 함수 내에서 병렬 처리가 가능합니까?
- 10. 최대 재귀 깊이 처리가
- 11. 높은 이벤트 처리가 뒤틀림
- 12. Windows에서의 다중 처리가 깨졌습니다.
- 13. V2의 일괄 처리가 지원됩니까?
- 14. CoordinatorLayout 스크롤 처리가 중단됩니다.
- 15. 오류 처리가 처리하지 않습니다.
- 16. 얼랑 처리가 멈춤
- 17. JSON의 위생 처리가 필요합니까?
- 18. USSD 처리가 가장 유연합니다.
- 19. ROLAP 모드는 처리가 필요합니까?
- 20. asp.net 페이지 처리가 빠름?
- 21. 예외 처리가 작동하지 않습니다.
- 22. 자바 스크립트 처리가
- 23. 처리가 좀 XML 문서를
- 24. R의 병렬 처리가 제한됨
- 25. 실제로 병렬 처리가 가능합니까?
- 26. 봄에 요청 처리가 실패했습니다.
- 27. 처리가 어렵습니다. 스위스 키보드 '+'
- 28. 병렬 처리가 가능합니까?
- 29. Clarion의 예외 처리가 있습니까?
- 30. iOS : 보관 처리가 실패합니다.
만약 값이 iterable입니까? – Julien
나는 누군가가 이런 종류의 문제에 대한 영리한 트릭을 가지고 있기를 희망했다. – Rob
어떻게 더 영리 할 수 있을까? – Julien