문자열로 구성 또는 사전 필터 파이썬 사전 나는 사전을 가지고
parameters = {
"date": {'date':"2015-12-13"},
"name": "Nick",
"product": "BT Adapter",
"transaction-id": ""
}
그리고 내가
['2015-12-13', 'BT Adapter', 'Nick']
같은 목록을 얻을 필요가 값. 그것이에는 사전이없는 경우
는 print filter(lambda x: x if len(x) > 0 and type(x) is not dict else None, parameters.values())
완벽하게 작동하지만,에 사전에 내가
print filter(lambda x: x if len(x) > 0 and type(x) is not dict else map(lambda y: x[y], x.keys()), parameters.values())
과 가치의 추출을 시도하고 난 AttributeError: 'str' object has no attribute 'keys'
를 얻을. 모든 값을 추출하는 방법은 무엇입니까?
'렌 (X)> 0 '이다 빈 문자열의 경우'False '이므로'else' 부분이 실행되고'str'은'keys' 메소드가 없습니다. –
제쳐두고'type (x) is not dict'보다는'is isinstance (x, dict) '를 사용하는 것이 더 관용적입니다. 의미는 약간 다르지만, 당신이 원하는 것에 더 가깝다고 생각합니다. –
사전을 입력으로 얻으려는 출력을 제공하면 정말 도움이 될 것입니다 ... 사전 값이나 빈 문자열을 어떻게 처리 할 것인지 명확하지 않습니다 ... BTW :'map (lambda – Bakuriu