Hallo,
naechstes Problem waere dann:
dict_a={"var_1":["0","22", "11",...,],... "var_n":["212", "122"...]}
wie kann ich die die Elemente (in Form von Zahlen) in den Values von "str" zur "Float" wandeln?
Ich bin dankbar fuer jede Unterstuetzung.
Str to Float in einer Liste
Eine Möglichkeit währe folgende:
ALso ein neues Dictionary anfertigen, welches dann die in float umgewandelten Werte bekommt. (mit Hilfe der Funktion 'float' wandelt man entsprechende strings in float zahlen um. klappt auch mit 'int')
Aber Vorsicht:
MFG EnTeQuAk
€dit:
warum den Namespace unnötig belasten *g*::
Code: Alles auswählen
dict_a={"var_1":["0","22", "11"], "var_n":["212", "122"]}
new_dict = {}
for key in dict_a:
new_dict[key] = [float(i) for i in dict_a[key]]
print new_dict
Aber Vorsicht:
Code: Alles auswählen
>>> float("4.3")
4.2999999999999998
>>> float("4,2")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for float(): 4,2
€dit:
warum den Namespace unnötig belasten *g*::
Code: Alles auswählen
dict_a={"var_1":["0","22", "11"], "var_n":["212", "122"]}
for key in dict_a:
dict_a[key] = [float(i) for i in dict_a[key]]
print dict_a
Danke EnTeQuAk.
kannst du mir ein Buch empfehlen?! Ich will unbedingt tiefer in diese Sprache gehen, da meine Diplomarbeit auf Python basiert .
Mein Problem ist, ich habe in der Hand nur einen kleinen Schulungskript und das kann gleich ins Muell schmeissen.
kannst du mir ein Buch empfehlen?! Ich will unbedingt tiefer in diese Sprache gehen, da meine Diplomarbeit auf Python basiert .
Mein Problem ist, ich habe in der Hand nur einen kleinen Schulungskript und das kann gleich ins Muell schmeissen.
Bin nicht gefragt, aber: Die Online-Doku ist wahrscheinlich schwer zu toppen. Empfehlung: Kapitel 1-9 aus dem Tutorial einmal gründlich durchlesen - das ist gar nicht so viel (am besten vielleicht einen Ausdruck). Dann für alle aktuellen Fragen die Library-Referenz benutzen.
Habe hisher nur eine einzige Lücke gefunden: Exceptions haben eine eigene Syntax, die irgendwie auch in die Exception-Klasse eingebaut ist. Dafür ist nur der grobe Gebrauch dokumentiert. Alles andere ist bestens und für Programmiertechnick ganz allgemein sehr lehrreich beschrieben - GvR ist halt ein Genie.
___________________
Schlechte Software ist schlimmer als keine Software
Habe hisher nur eine einzige Lücke gefunden: Exceptions haben eine eigene Syntax, die irgendwie auch in die Exception-Klasse eingebaut ist. Dafür ist nur der grobe Gebrauch dokumentiert. Alles andere ist bestens und für Programmiertechnick ganz allgemein sehr lehrreich beschrieben - GvR ist halt ein Genie.
___________________
Schlechte Software ist schlimmer als keine Software
Oder gar Funktionen verwenden die für so etwas vorgesehen sindEnTeQuAk hat geschrieben:€dit:
warum den Namespace unnötig belasten *g*::Code: Alles auswählen
dict_a={"var_1":["0","22", "11"], "var_n":["212", "122"]} for key in dict_a: dict_a[key] = [float(i) for i in dict_a[key]] print dict_a
Code: Alles auswählen
dict_a={"var_1":["0","22", "11"], "var_n":["212", "122"]}
for key, value in dict_a.iteritems():
dict_a[key] = map(float, value)
print dict_a
Code: Alles auswählen
d={"var_1":["0","22", "11"], "var_n":["212", "122"]}
dict(map(lambda x: (x, map(float, d[x])), d))
Zuletzt geändert von EyDu am Mittwoch 2. Mai 2007, 21:00, insgesamt 1-mal geändert.
Du hast aber schon mal programmiert und kannst selbständig in der Doku nachlesen? Oder hast du vor dich durch deine Diplomarbeit zu raten ?koukoun hat geschrieben:wenn ich die Werte in diesem Form habe : 112.0003 oder 0.999999
weisst du wie diese Zahlen runden kann? 112.0003>112 0.99999>1
Code: Alles auswählen
a = round(0.6)
#Um Integers zu erhalten:
a = int(round(0.6))
@EyDu:
wär ja zu einfach gewesen *g*
@koukoun:
Also ich kann dir A Byte of Python empfehlen. Ist kostenlos, online lesbar, ausdruckbar und sehr gut.
Ansonsten habe ich hier noch so nen kleines Python Taschenbuch (kA, wie das heißt... bin grad auf Arbeit) und "Objektorientierte Programierung mit Python" rumstehen. Ersteres habe ich glaub ich ein, zwei mal benutzt... dafür gibts ja ansonsten wirklich Python-Docs. letzteres ist ansich zu empfehlen. Auch, wenn die Beispiele (meine Meinung) nicht immer die besten sind.
MfG EnTeQuAk
wär ja zu einfach gewesen *g*
@koukoun:
Also ich kann dir A Byte of Python empfehlen. Ist kostenlos, online lesbar, ausdruckbar und sehr gut.
Ansonsten habe ich hier noch so nen kleines Python Taschenbuch (kA, wie das heißt... bin grad auf Arbeit) und "Objektorientierte Programierung mit Python" rumstehen. Ersteres habe ich glaub ich ein, zwei mal benutzt... dafür gibts ja ansonsten wirklich Python-Docs. letzteres ist ansich zu empfehlen. Auch, wenn die Beispiele (meine Meinung) nicht immer die besten sind.
MfG EnTeQuAk
- Rebecca
- User
- Beiträge: 1662
- Registriert: Freitag 3. Februar 2006, 12:28
- Wohnort: DN, Heimat: HB
- Kontaktdaten:
Ueberleg dir mal, was runden auf Englisch heisst... Die Suchmaske auf der Python-Dokumentationsseite ist uebrigens seeehr nuetzlich:
http://docs.python.org/
EDIT: Mist, jetzt haben es andere verraten...
http://docs.python.org/
EDIT: Mist, jetzt haben es andere verraten...
-
- User
- Beiträge: 51
- Registriert: Montag 16. April 2007, 10:59
- Wohnort: Messel(Hessen)
- Kontaktdaten:
Ich habe mich gerade gefragt ob das Konvertieren der Listeneinträge im ´´dict´´ nicht auch über ein dictionary-display möglich ist!?
Prinzipiell sollte das doch ähnlich wie bei den Listendisplays gehen?
Prinzipiell sollte das doch ähnlich wie bei den Listendisplays gehen?
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
Es gibt kein Dictionary-Display.
Es gibt nur List Comprehensions, Generator Expressions und ab Python 3.0 Set Comprehensions.
Es gibt nur List Comprehensions, Generator Expressions und ab Python 3.0 Set Comprehensions.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Meinst du bei der Anzeige? Dictionary-Display sagt mir nämlich auch gar nichts.htw7448 hat geschrieben:Ich habe mich gerade gefragt ob das Konvertieren der Listeneinträge im ´´dict´´ nicht auch über ein dictionary-display möglich ist!?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 51
- Registriert: Montag 16. April 2007, 10:59
- Wohnort: Messel(Hessen)
- Kontaktdaten:
Hab da wohl was falsch verstanden. In einem Buch war von Dictionary Display die Rede. In etwa der Form
Rein theoretische Definition wahrscheinlich
Code: Alles auswählen
dict_display ::= "{" [key_datum_list] "}"
key_datum_list ::= key datum ("," key_datum)* [","]
key_datum ::= expression ":" expression
Zuletzt geändert von htw7448 am Mittwoch 2. Mai 2007, 20:50, insgesamt 1-mal geändert.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Du bist sicher, dass das Buch von Python handelte? Denn der Code den du da schreibst ist kein gültiger Python-Code. Das erinnert mich eher an EBNF.htw7448 hat geschrieben:dict ::= "{"[a]"}"
a::= "," usw
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 51
- Registriert: Montag 16. April 2007, 10:59
- Wohnort: Messel(Hessen)
- Kontaktdaten:
Dieser Part taucht auch in einer etwas älteren offiziellen Python Doku auf.
http://mail.python.org/pipermail/python ... 10114.html
http://mail.python.org/pipermail/python ... 10114.html
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ja, das ist die EBNF-Notation der Syntax. Das ist kein Python und Dictionary Display sagt wohl nur aus, wie so die Syntax von einem Dictionary aussieht. Mehr nicht. Das ist kein Feature der Sprache.htw7448 hat geschrieben:Dieser Part taucht auch in einer etwas älteren offiziellen Python Doku auf.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice