Python中list查询及所需时间计算操作示例

yipeiwu_com7年前Python基础

本文实例讲述了Python中list查询及所需时间计算操作。分享给大家供大家参考,具体如下:

# -*-coding=utf-8 -*-
#! python2
#filename: list_query
#date: 2018-03-25
#author: guosw
import time
def cost_time(fun):
  def cost(*args,**kwargs):
    stime = time.time()
    x = fun(*args,**kwargs)
    etime = time.time()
    print "function name:",fun.__name__
    print "time cost:",etime-stime
    return x
  return cost
@cost_time
def list_query(_list,_val):
  low = 0
  height = len(i) - 1
  mid = (height - low) // 2
  for n in xrange(height+1):
    if _list[n] == _val:
      return n
  for n in xrange(mid,height+1):
    if _list[n] == _val:
      return n
if __name__ == "__main__":
  i = xrange(100000)
  subscript = list_query(i,9999)
  print subscript

运行结果:

function name: list_query
time cost: 0.00100016593933
9999

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数组操作技巧总结》、《Python字符串操作技巧汇总》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python数据结构与算法教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

win10下安装Anaconda的教程(python环境+jupyter_notebook)

win10下安装Anaconda的教程(python环境+jupyter_notebook)

前言: 什么是anaconda?? Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。 [1] 因为包含了大量的科学包...

python实现单线程多任务非阻塞TCP服务端

本文实例为大家分享了python实现单线程多任务非阻塞TCP服务端的具体代码,供大家参考,具体内容如下 # coding:utf-8 from socket import * #...

ubuntu 18.04 安装opencv3.4.5的教程(图解)

ubuntu 18.04 安装opencv3.4.5的教程(图解)

【写在前面】 这真的是太那个什么了 不管怎么说 做过的东西做个笔记总是好的 花一点点时间做笔记 不然如果哪一天要重新做了 或者哪一天要汇报工作 都不知道该从哪里入手 又要重新来...

在OpenCV里使用特征匹配和单映射变换的代码详解

在OpenCV里使用特征匹配和单映射变换的代码详解

前面已经学习特征查找和对应匹配,接着下来在特征匹配之后,再使用findHomography函数来找出对应图像的投影矩阵。首先使用一个查询图片,然后在另外一张图片里找到目标对象,其实就是想...

Numpy 改变数组维度的几种方法小结

来自 《Python数据分析基础教程:Numpy 学习指南(第2版)》 Numpy改变数组维度的方法有: reshape() ravel() flatten() 用元组设置维度...