python 中x%2 x&1 判断偶数奇数 性能对比
本文使用非常好用的python交互解释器ipython操作演示,
使用命令pip install ipython安装,输入ipython即可。比python自带的好用。
python中有两种方法判断一个数是不是偶数或者奇数:
In [29]: 3&1
Out[29]: 1
In [30]: 3%2
Out[30]: 1
In [31]: 4&1
Out[31]: 0
In [32]: 4%2
Out[32]: 0
性能肯定是&1更高嘛,实际当中感觉差不多,简单写两个函数测试一下
二进制与操作&1判断偶奇数:
def testand(x):
for r in range(1,x):
if r&1:
pass
%2求余判断偶奇数:
def testmod(x):
for r in range(1,x):
if r%2:
pass
用ipython自带的timeit功能测试:
In [19]: %timeit testmod(100000)
100 loops, best of 3: 12.9 ms per loop
In [20]: %timeit testand(100000)
100 loops, best of 3: 10.8 ms per loop
In [21]: %timeit testand(1000000)
10 loops, best of 3: 109 ms per loop
In [22]: %timeit testmod(1000000)
10 loops, best of 3: 129 ms per loop
对我来说,感觉差距不大。
In [162]: %timeit testand(999999)
10 loops, best of 3: 109 ms per loop
In [163]: %timeit testand(9999999)
1 loop, best of 3: 1.08 s per loop
In [164]: %timeit testand(99999999)
1 loop, best of 3: 10.9 s per loop
In [165]: %timeit testmod(9999999)
1 loop, best of 3: 1.3 s per loop
In [166]: %timeit testmod(99999999)
1 loop, best of 3: 13 s per loop
&1确实性能更好,加大了数据,不过差距也没有很明显放大。
2016年10月9日 13:46:36 codegay
python 中x%2 x&1 判断偶数奇数 性能对比的更多相关文章
- python中如何不区分大小写的判断一个元素是否在一个列表中
python中判断某一个元素是否在一个列表中,可以使用关键字in 和 not in. 示例如下: 如果需要输出相应的信息,可以搭配使用if语句,这里不赘述. --------------------- ...
- python中输入某年某月某日,判断这一天是这一年的第几天?
输入某年某月某日,判断这一天是这一年的第几天?程序分析 特殊情况,闰年时需考虑二月多加一天: 直接上代码 #定义一个函数,判断是否为闰年 def leapyear(y): return (y % 40 ...
- Python中变量的属性以及判断方法
1.变量的属性 在Python中,创建一个变量会给这个变量分配三种属性: id ,代表该变量在内存中的地址: type,代表该变量的类型: value,该变量的值: x = 10 print(id(x ...
- Python中Opencv和PIL.Image读取图片的差异对比
近日,在进行深度学习进行推理的时候,发现不管怎么样都得不出正确的结果,再仔细和正确的代码进行对比了后发现原来是Python中不同的库读取的图片数组是有差异的. image = np.array(Ima ...
- python采用 多进程/多线程/协程 写爬虫以及性能对比,牛逼的分分钟就将一个网站爬下来!
首先我们来了解下python中的进程,线程以及协程! 从计算机硬件角度: 计算机的核心是CPU,承担了所有的计算任务.一个CPU,在一个时间切片里只能运行一个程序. 从操作系统的角度: 进程和线程,都 ...
- python 中输入一个字符串,判断这个字符串中有多少个字符、数字、空格、特殊字符
# -*- coding: utf8 -*- # Author:wxq #python 2.7 #首先定义一个字符串 str1 = raw_input('请输入一个字符:') #初始化字符.数字.空格 ...
- 【Django】Python web开发:几个模板系统的性能对比(转)
http://blog.chedushi.com/archives/910 结论: 点评一下吧.django就是个渣,不多废话了.webpy的代码很简洁,可惜速度太慢了.bottle看起来快一点,不过 ...
- python中函数与方法的区别
在python中,其实函数和方法的区别取决于其调用者,在普通的函数定义中就叫做函数 例如: def func(): print('这是一个函数') 而在一个类中定义时,就将其分为两种情况 第一种:被称 ...
- Python中请使用isinstance()判断变量类型
一.isinstance() 在Python中可以使用type()与isinstance()这两个函数判断对象类型,而isinstance()函数的使用上比type更加方便. # coding=utf ...
随机推荐
- Connection broken for id 62, my id = 70, error =
启动费zokeeper失败,报错如下:Connection broken for id 62, my id = 70, error = 原因是因为zoo.cfg中server.id不正确. serve ...
- windows 服务实例
参考来源:http://blog.csdn.net/morewindows/article/details/6858216 参考来源: http://hi.baidu.com/tfantasy/ite ...
- OpenBSD内核之引导PBR
OpenBSD引导的第二部PBR,也是活动分区的一个扇区的代码,由第一步的MBR加载到0x7C00处,manpage里详细的讲解了过程和大致实现 biosboot(8) (http://man.ope ...
- 转载C#下RSA算法的实现(适用于支付宝和易宝支付)
RSA算法代码: using System; using System.Collections.Generic; using System.Text; using System.IO; using S ...
- 学习ios【2】Objective-C 数字和字符串
一 数字 1.使用Foundation.h可以直接导入所有的头文件. 在XCode中,想查看某个方法帮助,可以将光标放在方法上,按住option键同时单击即可. 官方文档:https://develo ...
- 企业项目开发--分布式缓存Redis
第九章 企业项目开发--分布式缓存Redis(1) 注意:本章代码将会建立在上一章的代码基础上,上一章链接<第八章 企业项目开发--分布式缓存memcached> 1.为什么用Redis ...
- [转]http-关于application/x-www-form-urlencoded等字符编码的解释说明
在Form元素的语法中,EncType表明提交数据的格式 用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型. 下边是说明: application/x-www-form-urlen ...
- POJ1635 树的最小表示
/*zoj1990Subway Tree Systems题目大意:初始时站在树的根节点,若朝着远离根的方向走,记录“”,接近根的方向走记录“”.并且树的每一条边只能来回走一次(即向下和返回).一个合法 ...
- locate
pre.cjk { font-family: "Nimbus Mono L", monospace } p { margin-bottom: 0.1in; line-height: ...
- Leetcode 详解(Substing without repeats character)
Given a string, find the length of the longest substring without repeating characters. Examples: Giv ...