da fasse ich kurz und bündig Mut und traue mich
auch meine doofe Frage bzgl. Arrays und Python zu stellen.
Gibts echt keine schönere, kürzere Methode in (pure) Python
mehrdimensionale Arrays zu definieren?
In Java kann man ein 100x1000x10000 Array in einer Zeile erzeugen.
(erzeugen != mit Werten füllen)
Hier mein Testcase:
Code: Alles auswählen
#!/usr/bin/python -O
def create_video_buffer(width,height,frames):
#consistency checking routines
width = int(abs(width)) % 1920 #respectfully
height = int(abs(height)) % 1080 #limiting x,y res,
#to high-definition,
frames = int(abs(frames)) #but not length
#initializationa
video_buffer = []
if width and height and frames: #w,h,f must be > 0
for w in range(width):
video_buffer.append([])
for h in range(height):
video_buffer[w].append([])
for f in range(frames):
video_buffer[w][h].append([])
for c in range(3): #color components rgb
video_buffer[w][h][f].append(0)
return video_buffer
Das da oben will ich kürzer haben, aber höchstens in Python enthaltene Module nutzen.
Das Array Modul hab ich mir schon mal angeguckt, nur irgendwie konnte ich das nicht nutzen, bin vielleicht zu blöd, aber es scheiterte an so sachen wie:
video_buffer.append(array('c', [chr(0),chr(0),chr(0)]))
und so Anwendungskleinigkeiten, die ich nicht verstanden habe.
Danke für Hilfe im voraus.