2013-04-20 4 views
3

값이 기본적으로 목록에 설정된 사전이있는 경우 특정 용어에 대해 사전에서 이러한 목록을 모두 검색 할 수 있습니까? 예를 들어검색 파이썬 사전 값이 목록 인 경우

는 :

더 조건과 같은 일이 다시 발생할 수있는 경우와
textbooks = {"math":("red", "large"), "history":("brown", "old", "small")} 

는 어떻게 자신의 값이 "빨간색"을 포함하는 목록을 인 모든 키를 찾을 말할 수 있을까? 위의 예에서 찾을 수있는 유일한 것은 "수학"입니다.

+1

팁 : // sscce : 당신이 [SSCCE] (HTTP를 주면 모든 사람의 생명 쉬워집니다. org). 이 경우 실제로는 문자열 주위에 인용 부호를 넣어 예를 올바른 Python 구문으로 만들어 사람들이 코드를 복사하여 콘솔에 붙여 넣을 수 있습니다. – DSM

+0

감사합니다. 따옴표를 추가했습니다. – cbbcbail

답변

10
[k for k, v in textbooks.iteritems() if 'red' in v] 

그것은

res = [] 
for key, val in textbooks.iteritems(): 
    if 'red' in val: 
     res.append(key) 

참조 목록 파이썬 속기 comprehension in Python documentation

+0

코드에서 어떤 일이 일어나는지 설명해 주시겠습니까? 덕분에 – cbbcbail

+2

http://docs.python.org/2/tutorial/datastructures.html#list-comprehensions – mata

+0

링크를 제공해 주셔서 감사합니다.하지만이 변수가 어디에서 왔는지 또는 무엇을 나타내는 지 이해하는 데 도움이되지 않습니다. – cbbcbail

1
[key for key, corresponding_list in textbook.items() if 'red' in corresponding_list]