Nach etwas fragen ohne es umzudefinieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
sparrow
User
Beiträge: 4193
Registriert: Freitag 17. April 2009, 10:28

Äh ja... wenn man einen Wert in einem Dictionary ändert. Dann ist der halt anders. Das ist ja der Sinn der Sache.
Man muss sich also keinesfalls davor hüten die richtige Datenstruktur zu benutzen, man muss sie nur richtig verwenden.
Nach dem was du schreibst darfst du auch keine Tuple verwenden. Ach was sag ich, überhaupt keine Variablen, denn die Zuweisung kannst du ja immer überschreiben, ändern, löschen, was auch immer.
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

Alfons Mittelmeyer hat geschrieben:Ich will ja auch kein Vokabelprogramm schreiben.
Was Du willst, ist doch völlig egal. Der OP will ein Vokabelprogramm schreiben, also hör auf, seine Thread hier mit Quark zuzumüllen. Keiner Deiner Beiträge in diesem Thread enthält etwas, das den OP weiterbringt.
Alfons Mittelmeyer
User
Beiträge: 1715
Registriert: Freitag 31. Juli 2015, 13:34

Sirius3 hat geschrieben:
Alfons Mittelmeyer hat geschrieben:Ich will ja auch kein Vokabelprogramm schreiben.
Was Du willst, ist doch völlig egal. Der OP will ein Vokabelprogramm schreiben, also hör auf, seine Thread hier mit Quark zuzumüllen. Keiner Deiner Beiträge in diesem Thread enthält etwas, das den OP weiterbringt.
Willst Du in diesem Thread nur stänkern? Oder was soll das sein:

- Was Du willst, ist doch völlig egal
- also hör auf, seine Thread hier mit Quark zuzumüllen
- Keiner Deiner Beiträge in diesem Thread enthält etwas, das den OP weiterbringt.

Hör auf hier zu stänkern. Schau Dir lieber an, was der OP will. Und zuerst will er einmal Vokabeln. Und genau dafür habe ich bereits Anregungen gegeben. Brauchst Dir nur den letzten Beitrag anschauen. Und wenn man den abwandelt hat man das:

Code: Alles auswählen

import json

#with open('english_dictionary') as data_file:    
#    EnglishDictionary = json.load(data_file)
    
EnglishDictionary = {}

newDictionary = {
'gut' : 'nice',
'Haus' : 'house',
'Käse' : 'cheese'
}

for german,english in newDictionary.items():
    EnglishDictionary[german] = english
    
with open('english_dictionary','w') as data_file:    
    json.dump(EnglishDictionary,data_file)
BlackJack

@Alfons Mittelmeyer: Was soll jetzt dieses sinnfreie Beispiel? Man könnte `newDictionary` gleich `english_dictionary` nennen statt das ohne Grund elementweise zu kopieren. Und eigentlich könnte man auch gleich die JSON-Datei im Editor schreiben, statt den Umweg über das Python-Programm zu gehen.
Alfons Mittelmeyer
User
Beiträge: 1715
Registriert: Freitag 31. Juli 2015, 13:34

BlackJack hat geschrieben:@Alfons Mittelmeyer: Was soll jetzt dieses sinnfreie Beispiel? Man könnte `newDictionary` gleich `english_dictionary` nennen statt das ohne Grund elementweise zu kopieren. Und eigentlich könnte man auch gleich die JSON-Datei im Editor schreiben, statt den Umweg über das Python-Programm zu gehen.
Was soll da das Gemosere: Was soll jetzt dieses sinnfreie Beispiel?

Und: Man könnte `newDictionary` gleich `english_dictionary` nennen statt das ohne Grund elementweise zu kopieren.

Vielleicht schon mal daran gedacht, dass man da nur einen Teil eingibt und das dann in die Hauptdatei mit reinkopiert? Schließlich sind da die 3. und 4. Zeile nicht rausgelöscht, sondern nur auskommentiert, weil man beim ersten Mal noch keine Hauptdatei hat.

Und gleich mit dem Editor in die JSON Datei schreiben, etwa: "K\u00e4se": "cheese"
Na dann viel Spass dabei.

Und dann geht es noch darum, dass der OP die richtigen Eingaben in einer anderen Datei speichern will. Da muss er doch wissen, wie man das macht - etwas einer Datei hinzufügen.
BlackJack

@Alfons Mittelmeyer: Was das gemosere soll? Sinnfreie Beispiele helfen dem OP nicht. Wenn Du etwas zeigen wolltest ”das man sich denken kann”, dann zeig das doch auch und nicht etwas sinnfreies. Also wie man einer Datei etwas hinzufügt. Wobei man den Inhalt eines Wörterbuchs mit einem anderen Wörterbuch zu aktualisieren wohl eher mit der `update()`-Methode machen würde anstelle von einer manuellen Schleife über die `items()`.

Man kann im Editor auch ``"Käse": "cheese"`` schreiben wenn man die Datei als UTF-8 kodiert speichert, man muss Zeichen ausserhalb von ASCII nicht als Escape-Sequenz schreiben. Das ist also nicht aufwändiger als ein literales Wörterbuch im Python-Quelltext zu schreiben. Also ja, viel Spass dabei! :-)
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Bevor das hier noch weiter eskaliert: Der OP sollte sich erst einmal Gedanken um eine sinnvolle Datenstruktur machen, *bevor* er sich an das Thema "Persistenz" heran wagt! (iirc hatte Sirius3 CSV als erstes erwähnt?) Imho lenkt das zu sehr davon ab, eine geeignete Struktur zu finden und ist insofern der falsche Ansatz.

Vermutlich hat der OP genau gar keine Ahnung davon, *was* Sammlungen überhaupt sind; wozu dienen sie, welche gibt es und wo liegen die Vor- und Nachteile. Das zu lernen ist der erste notwendige Schritt.

Hat man das kapiert, dann kann man sich an das Laden und Speichern machen. Aber eben erst *danach*!
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten