'2d' Liste in Python

OP #7490203
Lesenswert?

Hi

genau genommen geht es um micropython ich bin mir nicht sicher in wie weit das einen Unterschied macht. Weil ich ein paar Wochen außer Gefecht bin, spiele ich etwas mit dem o.g. Thema und bin vor ein Problem gestoßen. Es gibt einen Treiber für Neopixel. Ich habe bis jetzt nur noch nicht herausgefunden, wie man die RGB Daten sinnvoll intern speichert.

Ich weiß wohl, dass es eine Liste von Liste gibt und ich dort meine Werte speichern kann. Vorausgesetzt, dass ich einigermaßen eigenverantwortlich vorgehe und nicht Mist in dieser Liste speicher, wenn ich Elemente ändere.

1
liste_1 = [[0,0,0],[255,255,255],.....[R,G,B]]
2

3
#liste[0] ist dann das erste Pixel. Die Daten kann man dann an die Neopixel schicken. Aber da muss ich ja jeden Pixel ein mal in die Hand nehmen...
4

5
liste_2 = [[0,0,0] for pix in range(16)]
6
#hier werden die benötigten pixel angelegt und dunkel initialisiert. Ich glaube so würde ich schon weiterkommen, aber Frage s.u. - wie 'richtig'

Also im Moment habe ich einen Neopixel Ring, eine Liste von RGB Listen wäre also richtig. Für ein Display braucht man als Komfort eine x/y indizierung.

Wie mache ich das aber einigermaßen geschickt bzw. Python-genormt? Ein 2d Array am besten von der Größe her vordefinieren. Wenn ich teilweise Code sehe bin ich von der ästhetik angetan und alles scheint logisch zu sein, aber selber komme ich noch nicht dahinter.

Ich danke euch für eine Anschubhilfe - wie würdet ihr so etwas machen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren