Die Suche ergab 1486 Treffer

von kbr
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...
von kbr
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...
von kbr
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...
von kbr
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...
von kbr
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: %...
von kbr
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...
von kbr
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

Re: Wörterbücher auf unterschiedlichen Inhalt vergleichen, das geht doch eleganter?

narpfel hat geschrieben: Freitag 17. November 2023, 21:15 ?
Interessant, dass auf `collections.Counter` die Subtraktion implementiert ist. Das wusste ich noch nicht. Warum hast du das bei deinem ersten Hinweis nicht direkt gezeigt?
von kbr
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.
von kbr
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()} # ...
von kbr
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...
von kbr
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...
von kbr
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...
von kbr
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.
von kbr
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=...
von kbr
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)
von kbr
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...
von kbr
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 ...
von kbr
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.
von kbr
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 ;-)
von kbr
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.