Ich schreibe eine if-Anweisung, um festzustellen, ob mein Wörterbuch mehrere Schlüssel hat. Wenn nicht, ich will nur übergeben. Ich dachte, wenn der Code unten "Rotverschiebung" nicht als Schlüssel finden würde, würde es passieren. Allerdings, wenn ich es renne, ist Rotverschiebung kein Schlüssel und es passiert nicht. Ich erhalte einen Schlüsselfehler. Was ist das Problem. Solange es "Rotverschiebung" oder "Host" findet, passiert es nicht.Überprüfung mehrerer Schlüssel in einem Wörterbuch funktioniert nicht. Python
print config[name].keys()
if ("redshift" and "host") in config[name]:
print config[name].keys()
name.append(config[name]["name"])
redshift.append(config[name]["redshift"][0]['value'])
type.append(config[name]["type"][0]["value"])
else:
pass
was ist der Wert von 'hier config'? Bitte geben Sie ein Beispiel an. – AKS
Sie verwenden loop mit 'für la in config [name]:' aber nie 'la' in der Schleife einmal verwendet? – AKS
Config wird in Form einer .json-Datei aufgerufen. Ein Beispiel ist config [SNname] .keys = [u'discoverer ', u'redshift', u'claimedtype ', u'sources', u'maxabsmag ', u'aliases', 'hostdec', u'comovingdist ", u'maxappmag ', u'maxdate', u'ra ', u'hostra', u'lumdist ', u'maxband', u'host ', u'discoverdate', u'dec ', u'name ', u'spectra', u'ebv ', u'velocity', u'photometry '] – astrochris