Red de conocimiento informático - Problemas con los teléfonos móviles - Usando list.sort() en Python

Usando list.sort() en Python

Siempre que tenga un objeto iterable, puede utilizar la clasificación.

ordenado(itrearble, cmp=None, key=None, reverse=False)

Después del símbolo = está el valor predeterminado. El valor predeterminado es orden ascendente. el resultado esté en orden descendente, luego use reverse=True

Los resultados ordenados se colocarán en una nueva lista. en lugar de modificar el iterador en sí.

por ejemplo:

1, clasificación simple

cadena ordenada('123456')

) lista

[1, 2, 3, 4, 5, 6]

ordenado({1: diccionario, las claves del diccionario están ordenadas por defecto

[1, 2, 3]

ordenado({1:'q', 3:'c', 2:'g'}.keys()) Ordenado({1:'q', 3:'c', 2: 'g '}. Sort ({1: 'q', 3: 'c', 2: 'g'}.values()) representa valores del diccionario

['c', 'g', 'q ']

sorted({1: 'q', 3: 'c', 2: 'g'}.items()) es una lista de tuplas compuestas por pares clave-valor

[(1, 'q'), (2, 'g'), (3, 'c')]

2, Ordenar elementos para especificar una determinada parte, ordenar por palabras clave

s = ['Chr1-10.txt', 'Chr1-1.txt', 'Chr1-2.txt', 'Chr1-14.txt', 'Chr1-3.txt', ' Chr1- 20.txt', 'Chr1-5.txt']

Quiero ordenar los números después de "-" en orden ascendente usando la tecla

sorted(s, key= lambda d: int(d.split('-')[-1].split('.') [0]))

['Chr1-1.txt', 'Chr1- 2. txt', 'Chr1-3.txt', 'Chr1-5.txt', 'Chr1-10.txt', 'Chr1-14.txt', 'Chr1-20.txt']

Esto es lo que formula la clave de clasificación. Sin convertir la clave a un número entero, el resultado se vería así:

sorted(s, key=lambda d: d.split('-' )[-1. ].split('.') [0])

['Chr1-1.txt', 'Chr1-10.txt', 'Chr1-14.txt', 'Chr1 -2.txt ', 'Chr1-20.txt', 'Chr1-3.txt', 'Chr1-5.txt']

Esto equivale a tratar la palabra clave como una cadena. Obviamente, en Python, '. 2' > '10'

Puedes personalizar la clave que desees, por ejemplo: key = lambda x: len(x) por la longitud de la secuencia.