Stack Overflow en español Asked by user182700 on January 29, 2021
tengo esta lista que dentro de ella hay más listas:
list = [[8, 9, 14, 15, 16, 18, 4, 6, 10, 12],
[21, 22, 25, 26, 27, 20, 24],
[34, 28, 32, 33, 30, ],
[38, 39, 42, 44, 35, 36, 40],
[52, 54, 45, 48, 49, 50, 51, 46]]
Este es mi codigo, trato de no usar sort:
def ordenar(list):
for i in range(len(list)):
h = i
while h > 0 and list[h] < list[h - 1]:
aux = list[h]
list[h] = list[h - 1]
list[h - 1] = aux
h = h - 1
print("*****", list)
Esto es lo que me debe salir pero no me sale nada :
[4, 6, 8, 9, 10, 12, 14, 15, 16, 18]
[20, 21, 22, 24, 25, 26, 27]
[28, 30, 32, 33, 34]
[35, 36, 38, 39, 40, 42, 44]
[45, 46, 48, 49, 50, 51, 52, 54]
Fíjate que comparas una lista con otra lista. Mira el caso cuando h = 1
Cuando haces list[h]
lo que te devuelve es esta lista [21, 22, 25, 26, 27, 20, 24]
. Luego haces list[h-1]
que te devuelve [8, 9, 14, 15, 16, 18, 4, 6, 10, 12]
Entonces estarías comparando esto:
[21, 22, 25, 26, 27, 20, 24] < [8, 9, 14, 15, 16, 18, 4, 6, 10, 12]
Python te lo permite, pero no es lo que buscas.
Ahora bien vos deberías acceder a cada sublista de tu lista y ordenarlas como si fuese una lista normal. Si te preguntas como podrías acceder a cada sublista, vuelve a leer desde el principio de este mensaje, está explicito.
Por ultimo, estas usando el nombre de un tipo list
, te recomiendaría que lo cambies por otro nombre.
Answered by manchess on January 29, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP