@vertretung: Namen schreibt man in Python klein_mit_unterstrichen. Ausnahmen sind Konstanten (KOMPLETT_GROSS) und Klassen (MixedCase). Siehe auch den
Style Guide for Python Code.
Dieses Deutsch/Englisch-Gemisch, sogar innerhalb von Namen, ist nicht gut. Nach welchem Kriterium hast Du denn entschieden ob ein Name(nsteil) in Deutsch oder in Englisch benannt sein soll?
Bei dem Code stimmt so einiges nicht, und es stellt sich die Frage wie es soweit kommen konnte. Die zweite Schleife hätte man gar nicht erst schreiben sollen solange die erste Schleife nicht das macht was sie soll. Mindestens zur Präsentation im Forum hätte man auch mal alles Weglassen können was gar nicht verwendet wird, denn das kann ja alles nicht Teil des Problems sein, lenkt also nur ab. `data_heute`, `data_morgen`, `text_morgen`, und `x` werden nicht verwendet. An der Stelle von `x` benötigt man syntaktisch einen Namen, da wird konventionell ein Unterstrich für verwendet. Allerdings stellt sich auch die Frage ob Du weisst welchen Wert `x` hat und *warum* das nicht verwendet wird. Macht eine Schleife über diese Werte überhaupt Sinn?
Das `set` als explizites Argument für `attrs` sieht komisch aus, weil `attrs` als Wörterbuch dokumentiert ist. Wenn ich explizit `attrs` schreibe, würde ich da auch explizit ein Wörterbuch angeben. Ansonsten einfach nur die CSS-Klasse ohne Schlüsselwort als zweites Argument. Und auch nicht in einem `set` wenn man nur nach *einer* Klasse sucht.
Magische Zahlen als Indexwerte sollte man vermeiden. Statt in einem Kommentar zu erklären was die Indizes 0 und 1 bedeuten, sollte man die beiden Elemente einfach Namen zuweisen die einen erklärenden Kommentar überflüssig machen.
Indizes braucht man in Python auch eher selten. Wenn man dann noch in einer Schleife einen Indexwert manuell hochzählen will, macht man ziemlich sicher etwas falsch. Man kann in Python *direkt* über die Elemente von Sequenzwerten wie Listen iterieren, ohne den Umweg über einen Indexwert.
`indexcounter` ist auch nicht ganz richtig weil das ein Zähler für Indexwerte wäre. `index` wäre korrekter, und einer der wenigen Fälle wo es okay ist das ganze auf `i` zu kürzen. Die angehängten Zahlen bei `indexcounter1` und `indexcounter2` sind dagegen nicht in Ordnung. Man nummeriert keine Namen. Das deutet entweder darauf hin das man sich bessere/passendere Namen ausdenken sollte, oder das man eigentlich gar keine Einzelnamen sondern eine Datenstruktur verwenden will. Oft ist das eine Liste. Hier ist es aber einfach nur überflüssig, da die beiden Schleifen unabhängig voneinander sind, kann man für beide `index` oder `i` verwenden. Wobei wie gesagt: man braucht hier überhaupt gar keinen Laufindex.
Listen werden üblicherweise in der Mehrzahl dessen benannt was als Name für ein einzelnes Element Sinn machen würde. Bei `absaetze_heute` hast Du das ja auch gemacht, warum nicht bei `eintrag_heute`? Bei dem Namen würde der Leser einen einzelnen Eintrag erwarten und keine Liste von Einträgen.
Warum Du <td>-Elemente als „Absätze“ bezeichnest und warum Du zwei Listen erstellst, eine mit <td>-Elementen und eine mit dem Textinhalt der gleichen <td>-Elemente ist mir nicht wirklich klar‽
Da die Schleifen sowieso unsinn machen, weiss man jetzt nicht so genau ob das Absicht ist, aber da keine Listen für die Tabellenzeilen innerhalb der Schleifen erzeugt werden, würde es darauf hinauslaufen die 2D-Struktur der HTML-Tabelle in den Listen zu verlieren, was keine gute Idee ist.