Wenn du jetzt von deiner Liste 'a' dir die Länge des ersten Elementes anzeigen lässt,
handelt es sich auch wirklich nur um die Länge des ersten Elementes.
Das erste Element von 'a[0]' ist => ['text1', 2, 3]. Die Länge dieser Liste beträgt 3 Elemente.
Du möchtest ja aber eigentlich alle unterschiedlichen Texte selektieren.
Da ist die Set-Comprehension echt ne gute Wahl.
Deine Lösung mit len(a[0]) stellt für dein Problem gar keine Lösung dar.
Du könntest es auch ausformulieren:
Code: Alles auswählen
a = [['text1', 2, 3], ['text1', 2, 3], ['text4', 2, 4], ['text5', 2, 5]]
buch = {}
for weitere_liste in a:
buch[weitere_liste[0]] = 1
unterschiedliche_texte = len(buch.keys())