python位运算之计算中位数

Posted 一起来学python

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python位运算之计算中位数相关的知识,希望对你有一定的参考价值。

# -*- coding: utf-8 -*-
# @Time : 2018/11/23 10:49 PM
# @Author : cxa
# @File : 1.py
# @Software: PyCharm

# 中位数
# L = [0, 1, 2, 3, 4]  # 2
L = [0, 1, 3, 4, 5,7]
L.sort()
l_len = len(L)
n = (l_len - 1) // 2 #向下取整
# C语言中&表示按位与,0x开头的表示的是十六进制数,k&0x1表示k与0x1按位与,
# 其效果为取k的二进制中最右边的数字,该式也可以用做判断k的奇偶性, 如果k为奇数,其计算结果为1,否则为0。

if l_len & 0x1:
    print(L[n])
else:
    print("%.1f" %((L[n] + L[n+1]) / 2.0))

以上是关于python位运算之计算中位数的主要内容,如果未能解决你的问题,请参考以下文章

转《python 位操作符 左移和右移 运算》

Python3中的位运算符

c++中的位运算计算问题

Python的数据类型和运算

java中位运算 12>>33 ,应该怎么计算?过程是啥?

Python基础之数据类型和运算——数字