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))


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM