【Python】操作符 ~ 和取列表中位数

~含义是什么?

按位取反运算符:
对数据的每个二进制位取反,即把1变为0,把0变为1 。
~x 类似于 -x-1

利用~来求数组中位数

首先我们给定一个数组吧,比如[5,3,2,4,1, 6]
其实可以知道,中位数位偶数的时候是取均值,而奇数个的时候取的是中间的那个,其实可以用if语句来完成,但是这样写可以省下几行,虽然意义不大,但的确很有意思。

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

当然你也可以用-half-1来代替~half,不过很显然~half短一些。

猜你喜欢

转载自blog.csdn.net/qq_19577209/article/details/105516984