当前位置: 首页 > 编程笔记 >

Python中map和列表推导效率比较实例分析

盖辉
2023-03-14
本文向大家介绍Python中map和列表推导效率比较实例分析,包括了Python中map和列表推导效率比较实例分析的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了Python中map和列表推导效率比较。分享给大家供大家参考。具体分析如下:

直接来测试代码吧:

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
# list comprehension and map 
import time 
def test(f, name): 
  st = time.time() 
  f() 
  print '%s %ss'%(name, time.time()-st) 
TIMES = 1000 
ARR = range(10000) 
def tmap(): 
  i = 0 
  while (i<TIMES): 
    map(lambda x:x, ARR)     
    i = i+1 
def tlst(): 
  i = 0 
  while (i<TIMES): 
    [x for x in ARR]     
    i = i+1 
test(tmap, "map") 
test(tlst, "lst") 

在我电脑上的测试结果:

map 1.06299996376s 
lst 0.296000003815s 

很明显列表推导比map操作会快很多,都三倍速度了

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

 类似资料:
  • 本文向大家介绍Python列表推导式、字典推导式与集合推导式用法实例分析,包括了Python列表推导式、字典推导式与集合推导式用法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python列表推导式、字典推导式与集合推导式用法。分享给大家供大家参考,具体如下: 推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的

  • 问题内容: 有关内置python列表对象的快速问题。假设您有一个数字为0-99的列表。您正在编写一个将列表中的最后一项用于其他目的的程序。使用list [-1]比使用list [99]更有效吗?换句话说,无论哪种情况,python都会遍历整个列表吗? 谢谢你的帮助。 问题答案: Python不会遍历列表来查找特定索引。列表是连续内存中的数组(指向元素的指针),因此查找所需元素始终是简单的乘法和加法

  • 本文向大家介绍python中in在list和dict中查找效率的对比分析,包括了python中in在list和dict中查找效率的对比分析的使用技巧和注意事项,需要的朋友参考一下 首先给一个简单的例子,测测list和dict查找的时间: 运行结果: 通过上例我们可以看到list的查找效率远远低于dict的效率,原因如下: python中list对象的存储结构采用的是线性表,因此其查询复杂度为O(n

  • 本文向大家介绍Python中单线程、多线程和多进程的效率对比实验实例,包括了Python中单线程、多线程和多进程的效率对比实验实例的使用技巧和注意事项,需要的朋友参考一下 python的多进程性能要明显优于多线程,因为cpython的GIL对性能做了约束。 Python是运行在解释器中的语言,查找资料知道,python中有一个全局锁(GIL),在使用多进程(Thread)的情况下,不能发挥多核的优

  • 本文向大家介绍Python实现比较两个列表(list)范围,包括了Python实现比较两个列表(list)范围的使用技巧和注意事项,需要的朋友参考一下 有一道题: 比较两个列表范围,如果包含的话,返回TRUE,否则FALSE。 详细题目如下: Create a function, this function receives two lists as parameters, each list i

  • 问题内容: 比较两个列表/集合并输出差异的最简单方法是什么?是否有任何内置函数可以帮助我比较嵌套列表/集? 输入: 预期产量: 问题答案: 因此,您需要两个项目列表之间的区别。 首先,我将每个列表列表变成一个元组列表,这样,由于元组是可哈希化的(列表不是),因此您可以将元组列表转换为一组元组: 然后可以进行设置: 编辑(由sdolan建议):您可以在一个列表中为每个列表完成最后两个步骤: 注意:是