~含义是什么?
按位取反运算符:
对数据的每个二进制位取反,即把1变为0,把0变为1 。
~x 类似于 -x-1
利用~来求数组中位数
首先我们给定一个数组吧,比如[5,3,2,4,1, 6]
。
其实可以知道,中位数位偶数的时候是取均值,而奇数个的时候取的是中间的那个,其实可以用if
语句来完成,但是这样写可以省下几行,虽然意义不大,但的确很有意思。
list = [5,3,2,4,1, 6]
list.sort()
length = len(list)
half = length//2
median = (list[half] + list[~half])/2
当然你也可以用-half-1
来代替~half
,不过很显然~half
短一些。