sto memorizzazione di fotogrammi chiave di animazione da Cinema4D (utilizzando l'impressionante py4D) in un elenco di liste:Come posso ottenere l'indice della lista più grande all'interno di un elenco di liste usando Python?
props = [lx,ly,lz,sx,sy,sz,rx,ry,rz]
ho stampato i fotogrammi chiave per ogni proprietà/pista in un'animazione arbitrario e sono di diverse lunghezze:
track Position . X has 24 keys
track Position . Y has 24 keys
track Position . Z has 24 keys
track Scale . X has 1 keys
track Scale . Y has 1 keys
track Scale . Z has 1 keys
track Rotation . H has 23 keys
track Rotation . P has 24 keys
track Rotation . B has 24 keys
Ora, se voglio usare quelle chiavi in Blender che devo fare qualcosa di simile:
- andare al frame corrente
- impostare le proprietà di quella struttura chiave (possono essere posizione, rotazione, scala) e inserire un fotogramma chiave
Finora il mio piano è:
- Loop da 0 al numero massimo di chiave cornici per tutte le proprietà
- ciclo attraverso ogni proprietà
- Verifica se ha un valore memorizzato per la chiave corrente, in caso affermativo, passare al telaio in Blender e memorizzare i valori/inserisci fotogramma chiave
È questo il modo migliore per farlo?
Questo è il contesto per la domanda.
Prima ho bisogno di trovare la lista più grande che negozi di oggetti di scena. Sono nuovo di Python e mi chiedevo se esistesse una funzione magica che lo fa per te. Simile a max(), ma per lunghezze di lista.
Al momento sto pensando di codifica in questo modo:
//after props are set
lens = []
for p in props: lens.append(len(p))
maxLen = max(lens)
Quale sarebbe il modo migliore per ottenere questo?
Grazie
+1 per l'utilizzo di una funzione appositamente progettata per questo scopo. – Brian
questo funziona brillante! Grazie! –
Cosa succede se c'è un'uguaglianza? Dire all'interno della lista A, ho tre sotto-liste con dimensioni di 3, 3, 2? –