Estoy almacenar tramas clave animación a partir de Cinema 4D (utilizando el Py4D impresionante) en unas listas de listas:¿Cómo obtengo el índice de la lista más grande dentro de una lista de listas usando Python?
props = [lx,ly,lz,sx,sy,sz,rx,ry,rz]
Imprimí los fotogramas clave para cada propiedad/pista en una animación arbitraria y que son de diferentes longitudes:
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
Ahora bien, si quiero usar esas llaves en Blender que tengo que hacer algo como:
- ir al cuadro actual
- establecer las propiedades de ese fotograma clave (puede ser la ubicación, rotación, escala) e inserte un fotograma clave
Hasta ahora, mi plan es:
- Loop desde 0 hasta el número máximo de clave marcos para todas las propiedades
- bucle a través de cada propiedad
- Comprobar si tiene un valor almacenado para la clave actual, si es así, ir al marco en Blender y almacenar los valores/insertar fotograma clave
¿Es esta la mejor manera de hacerlo?
Este es el contexto de la pregunta.
Primero necesito encontrar la lista más grande que apuntala a las tiendas. Soy nuevo en Python y me preguntaba si había una función mágica que hiciera eso por ti. Similar a max(), pero para longitudes de lista.
Por el momento estoy pensando en la codificación de esta manera:
//after props are set
lens = []
for p in props: lens.append(len(p))
maxLen = max(lens)
¿Cuál sería la mejor manera de conseguir eso?
Gracias
+1 para usar una función específicamente diseñada para este propósito. – Brian
esto funciona genial! ¡Gracias! –
¿Qué pasa si hay una igualdad? Diga adentro de la lista A, tengo tres listas secundarias con tamaños de 3, 3, 2? Entonces volverá? –