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 if
isso maneira pode economizar algumas linhas. Embora não seja significativo, é realmente muito importante. interessante.
list = [5,3,2,4,1, 6]
list.sort()
length = len(list)
half = length//2
median = (list[half] + list[~half])/2
Claro, você também pode -half-1
usá -lo ~half
, mas obviamente é ~half
mais curto.