Operador [Python] ~ e pegue a mediana da lista

O que ~ significa?

Operador de inversão bit a bit:
Inverte cada bit binário dos dados, ou seja, transforma 1 em 0 e 0 em 1.
~x é como -x-1

Use ~ para encontrar a mediana de uma matriz

Primeiro, vamos dar um array, por exemplo [5,3,2,4,1, 6].
Na verdade, podemos saber que quando a mediana é um número par, o valor médio é obtido, e quando a mediana é um número ímpar, o do meio é considerado. Na verdade, isso pode ser feito com uma frase, mas escrevendo ifisso maneira pode economizar algumas linhas. Embora não seja significativo, é realmente muito importante. interessante.

list = [53241, 6]
list.sort()
length = len(list)
half = length//2
median = (list[half] + list[~half])/2

Claro, você também pode -half-1usá -lo ~half, mas obviamente é ~halfmais curto.

Supongo que te gusta

Origin blog.csdn.net/qq_19577209/article/details/105516984
Recomendado
Clasificación