principiante aquí. Tengo las siguientes listas (curvas y longitud de curvas):
crvs = [crv, crv, crv, crv, crv, crv, crv, crv, crv]
crvsLen = [18, 18, 18, 12, 12, 12, 12, 18, 12]
¿Necesito crear sublistas? o matrices 2d? de [crvs] según sus longitudes, algo de la siguiente manera (pero los [crvs] reales no son sus [crvsLen]):
[[18, 18, 18, 18]
[12, 12, 12, 12, 12]]
Pude encontrar el recuento de valores únicos en la lista y sus índices a través de esto:
listOfUniqueLenghts = list(dict.fromkeys(crvsLen))
listOfUniqueLenghts = [12, 18]
indices = [i for i, x in enumerate(crvsLen) if x == listOfUniqueLenghts[0]]
que devuelve los siguientes índices de [crvs] con longitud 12, por ejemplo:
indices = [3, 4, 5, 6, 8]
¿Cómo puedo almacenar [crvs] en una matriz 2d o una lista compleja y acceder a ellos por separado de acuerdo con su longitud dada cualquier número de crvsLen únicos y su cantidad? Solo puedo usar bibliotecas de valores.
Gracias, Dan.
Probablemente sea más fácil crear un diccionario con una longitud determinada. Una vez que tenga eso, debería poder obtener cualquier otra cosa que necesite.
crvs = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
crvsLen = [18, 18, 18, 12, 12, 12, 12, 18, 12]
d = {}
for length, value in zip(crvsLen, crvs):
d.setdefault(length, []).append(value)
d
# {18: ['a', 'b', 'c', 'h'], 12: ['d', 'e', 'f', 'g', 'i']}
# all 18s:
d[18]
#['a', 'b', 'c', 'h']
# list of lists:
list(d.values())
# [['a', 'b', 'c', 'h'], ['d', 'e', 'f', 'g', 'i']]
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras