Die Suche ergab 1486 Treffer
- Samstag 2. Dezember 2023, 18:40
- Forum: Links und Tutorials
- Thema: Advent of Code
- Antworten: 415
- Zugriffe: 95540
Re: Advent of Code
Ich habe es mal prozedural "ohne alles" umgesetzt. Die Verwendung von "math.prod" bringt im Vergleich zur ausgeschriebenen Schleife keinen merklichen Laufzeitvorteil. Letztenendes ging es bei Tag 2 aber um das Parsen. Hier die Variante für Teil 2: fname = "input.txt" de...
- Samstag 2. Dezember 2023, 13:04
- Forum: Links und Tutorials
- Thema: Advent of Code
- Antworten: 415
- Zugriffe: 95540
Re: Advent of Code
@snafu: Mit so einer Antwort hatte ich gerechnet – deswegen ja auch der Hinweis auf quick and dirty und nicht zuletzt auch der Laufteit. Diese ist mit ca. 6 ms auf meinem Rechner zur Lösung der Aufgabe schnell genug und der Code geht auch nicht irgendwo in Production. Natürlich kann man versuchen di...
- Samstag 2. Dezember 2023, 12:30
- Forum: Links und Tutorials
- Thema: Advent of Code
- Antworten: 415
- Zugriffe: 95540
Re: Advent of Code
Ich werfe hier mal im Nachgang für Tag 1 Teil 2 eine Lösung in den Raum, die ohne Reguläre Ausdrücke auskommt und mit weißem Gürtel zu bewältigen ist. Von oben nach unten quick und dirty runtergeschrieben sowie ohne Laufzeitoptimierung bedarf es nur `.startswith()`: import itertools patterns = [ 'on...
- Samstag 18. November 2023, 16:48
- Forum: Allgemeine Fragen
- Thema: Wörterbücher auf unterschiedlichen Inhalt vergleichen, das geht doch eleganter?
- Antworten: 16
- Zugriffe: 1097
Re: Wörterbücher auf unterschiedlichen Inhalt vergleichen, das geht doch eleganter?
Wenn es um Einfachheit geht, so geht es sogar noch etwas einfacher: {key: d1.get(key, 0) - d2.get(key, 0) for key in d1 | d2} Leider ist diese Variante zu einfach: bei keys die sich in d2 aber nicht in d1 befinden, ergeben sich negative Werte, was nicht gewünscht ist. Das müsste dann später noch kor...
- Samstag 18. November 2023, 16:00
- Forum: Allgemeine Fragen
- Thema: Wörterbücher auf unterschiedlichen Inhalt vergleichen, das geht doch eleganter?
- Antworten: 16
- Zugriffe: 1097
Re: Wörterbücher auf unterschiedlichen Inhalt vergleichen, das geht doch eleganter?
Ok, so geht es also auch: d1 = collections.Counter(dict(zip("abcde", range(10, 15)))) d2 = collections.Counter(dict(zip("cdefg", range(20, 25)))) diff = dict(d1 - d2 | d2 - d1) Interessant ist, das man dem Coode, wie so oft, nicht direkt ansieht, wie schnell er ausgeführt wird: %...
- Samstag 18. November 2023, 14:53
- Forum: Allgemeine Fragen
- Thema: Wörterbücher auf unterschiedlichen Inhalt vergleichen, das geht doch eleganter?
- Antworten: 16
- Zugriffe: 1097
Re: Wörterbücher auf unterschiedlichen Inhalt vergleichen, das geht doch eleganter?
Das meinte ich nicht. Du hättest beispielsweise direkt ein konkretes Beispiel zeigen können, statt andere raten zu lassen, was genau in der Dokumentation du gemeint hast. In etwa so: import collections d1 = collections.Counter(dict(zip("abcde", range(10, 15)))) d2 = collections.Counter(dic...
- Samstag 18. November 2023, 10:04
- Forum: Allgemeine Fragen
- Thema: Wörterbücher auf unterschiedlichen Inhalt vergleichen, das geht doch eleganter?
- Antworten: 16
- Zugriffe: 1097
- Freitag 17. November 2023, 19:30
- Forum: Allgemeine Fragen
- Thema: Wörterbücher auf unterschiedlichen Inhalt vergleichen, das geht doch eleganter?
- Antworten: 16
- Zugriffe: 1097
Re: Wörterbücher auf unterschiedlichen Inhalt vergleichen, das geht doch eleganter?
Wenn es um das Befüllen der Dictionaries geht, kann das eine Option sein. Warum aber für die Auswertung die Differenz der Werte der Schnittmenge beider Dictionaries in Verbindung mit den weiteren Inhalten sinnvoll ist, erschließt sich mir nicht. Aber vielleicht gibt es dafür einen guten Grund.
- Freitag 17. November 2023, 16:27
- Forum: Allgemeine Fragen
- Thema: Wörterbücher auf unterschiedlichen Inhalt vergleichen, das geht doch eleganter?
- Antworten: 16
- Zugriffe: 1097
Re: Wörterbücher auf unterschiedlichen Inhalt vergleichen, das geht doch eleganter?
Das geht, was es wirklich das ist, was du meinst: d1 = dict(zip("abcde", range(10, 15))) d2 = dict(zip("cdefg", range(20, 25))) # sammel alle key-value Paare, die beide dicts nicht gemeinsam haben: combined = d1 | d2 diff = {key: combined[key] for key in d1.keys() ^ d2.keys()} # ...
- Freitag 17. November 2023, 11:58
- Forum: Allgemeine Fragen
- Thema: list comprehension über set instabil
- Antworten: 9
- Zugriffe: 769
Re: list comprehension über set instabil
Rein pragmatisch sehe ich das so wie @narpfel: ein Set garantiert keine bestimmte Reihenfolge der enthaltenen Elemente. Dies genügt, um in der Praxis mit Sets korrekt umgehen zu können. Wenn man sich für das "warum" interessiert, kommen die Betrachtungen von @bords0 hinzu. Ich habe dies bi...
- Donnerstag 16. November 2023, 15:49
- Forum: Allgemeine Fragen
- Thema: USB-Stick serialnumber and volume letter
- Antworten: 17
- Zugriffe: 1166
Re: USB-Stick serialnumber and volume letter
ascii_uppercase ist schon eine gute Idee, aber nicht zum Erzeugen einer anschließend hartkodierten Liste. Ich würde statt dessen einen Generator bauen: import string def volumeletters(): for item in string.ascii_uppercase: yield f"{item}:" for volumeletter in volumeletters(): print(volumel...
- Donnerstag 16. November 2023, 08:52
- Forum: Codesnippets
- Thema: Spaß mit Dekoratoren
- Antworten: 5
- Zugriffe: 2793
Re: Spaß mit Dekoratoren
Um zur Verwirrung beizutragen: Aufgrund der closure ist Zugriff auf x möglich: @register_undo def undo_foo(): print(x) Eine Dekrementierung via `x -= 5` ist jedoch mit der Erzeugung des Labels `x` im lokalen Scope verbunden und das führt dann zu dem genannten Fehler. Dem lässt sich mit `nonlocal` be...
- Mittwoch 1. November 2023, 16:54
- Forum: Allgemeine Fragen
- Thema: wörterbuch auf bestimmte art sortieren
- Antworten: 8
- Zugriffe: 879
Re: wörterbuch auf bestimmte art sortieren
Wenn die zu sortierenden Einträge eigene Datentypen wären, wäre das in der Tat am elegantesten.
@snafu: bei deiner Variante werden die Einträge mit "Z" falsch sortiert.
@snafu: bei deiner Variante werden die Einträge mit "Z" falsch sortiert.
- Mittwoch 1. November 2023, 16:10
- Forum: Allgemeine Fragen
- Thema: wörterbuch auf bestimmte art sortieren
- Antworten: 8
- Zugriffe: 879
Re: wörterbuch auf bestimmte art sortieren
@blutigeranfaenger: das könnte man wie folgt angehen, da sorted Tuple mit numerischen Inhalten sortieren kann: def nameconvert(values): i, j = values[-1].split("-") j = float(j[1:]) + 0.5 if j.startswith("Z") else float(j) return int(i), j dict(sorted(pcs_fortenames.items(), key=...
- Montag 30. Oktober 2023, 19:17
- Forum: Allgemeine Fragen
- Thema: mehrere verschachtelte schleifen verlassen
- Antworten: 7
- Zugriffe: 891
Re: mehrere verschachtelte schleifen verlassen
Das "obskure Feature" heißt "else", was dir jetzt wenig helfen wird. Hier die Lösung mit einer Funktion: def inner(): while True: print(2) while True: if True: gesuchter befehl return print(5) print(3) while True: print(1) inner() print(4)
- Mittwoch 23. August 2023, 17:14
- Forum: Wissenschaftliches Rechnen
- Thema: RuntimeError: Failed to process string with tex because latex could not be found
- Antworten: 8
- Zugriffe: 2501
Re: RuntimeError: Failed to process string with tex because latex could not be found
@vanKey: Falls bereits Helvetica auf dem System zugänglich ist, dann brauchst du nicht den Umweg über LaTeX. Gleiche Fonts rendern sich immer gleich (druckfähige Fonts sind Vektordaten). Du kannst in matplotlib verfügbare Fonts direkt setzen. Falls Helvetica fehlt, könntest du Arial ausprobieren. Da...
- Montag 7. August 2023, 16:39
- Forum: Webframeworks
- Thema: cgi-Modul bald auch tot
- Antworten: 16
- Zugriffe: 1755
Re: cgi-Modul bald auch tot
@__blackjack__: In der CherryPy-Dokumentation finde ich sehr wohl Beispiele mit `__init__` und Verwendung von `self`. "Nicht gefallen" finde ich gar nicht so schlecht in dem Zusammenhang. Mir gefällt zum Beispiel Flask nicht, was sicher als Geschmacksache gelten darf. Jedenfalls werde ich ...
- Montag 7. August 2023, 13:28
- Forum: Webframeworks
- Thema: cgi-Modul bald auch tot
- Antworten: 16
- Zugriffe: 1755
Re: cgi-Modul bald auch tot
@__blackjack__: CherryPy kommt standardmäßig mit integriertem Webserver (auch wenn dieser später als stand-alone Anwendung separiert und nun als Abhängigkeit installiert wird) und das kann manchen das Leben erleichtern – auch wenn Dir CherryPy offenbar nicht zu gefallen scheint.
- Montag 7. August 2023, 12:49
- Forum: Webframeworks
- Thema: cgi-Modul bald auch tot
- Antworten: 16
- Zugriffe: 1755
Re: cgi-Modul bald auch tot
Es ist eher umgekehrt: Der Vorteil von CherryPy besteht darin, dass ein Webserver bereits dabei ist
- Montag 7. August 2023, 12:20
- Forum: Webframeworks
- Thema: cgi-Modul bald auch tot
- Antworten: 16
- Zugriffe: 1755
Re: cgi-Modul bald auch tot
@Üpsilon: oder Du schaust Dir mal https://cherrypy.dev/ an, das bringt bereits einen integrierten Webserver mit und Du kannst die Requests von z.B. nginx oder apache einfach durchreichen.