ein Wörterbuch haben besteht aus String oder WörterbücherFilter Python-Wörterbuch mit filter() zur Liste der Wörterbuchwerte
parameters = {
"date": {'date':"2015-12-13"},
"name": "Nick",
"product": "BT Adapter",
"transaction-id": ""
}
Und ich brauche Liste wie ['2015-12-13', 'BT Adapter', 'Nick']
zu bekommen.
Wenn es keine Wörterbücher in ihm, print filter(lambda x: x if len(x) > 0 and type(x) is not dict else None, parameters.values())
funktioniert perfekt, aber mit Wörterbuch darin habe ich versucht, es ist Wert zu extrahieren, mit
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())
und i AttributeError: 'str' object has no attribute 'keys'
erhalten. Wie können alle Werte extrahiert werden?
'len (x)> 0 'ist 'False' für eine leere Zeichenkette, also wird der' else' Teil ausgeführt und 'str' hat keine Methode' keys'. –
Nebenbei bemerkt, ist es idiomatischer, "not isinstance (x, dict)" zu verwenden als "type (x) ist dict". Die Bedeutung ist etwas anders, aber es ist näher an das, was Sie wollen. –
Es wäre wirklich hilfreich, wenn Sie die Ausgabe bereitstellen würden, die Sie erhalten möchten, wenn Sie dieses Wörterbuch als Eingabe verwenden ... Es ist überhaupt nicht klar, wie Sie mit Wörterbuchwerten oder leeren Strings umgehen wollen ... BTW: 'map (lambda y: x [y], x.keys()) 'ist im Grunde genommen nur' x.values () ' – Bakuriu