# 下面结果执行一次不容易出差距,所以都执行100000次

import time
dict1 = {'a':1, 'b':2, 'c':3, 'd':4}

# 第一种:字典推导式

start_time = time.time()
for i in range(100000):
d1 = {key:value for key,value in dict1.items() if value>2}
print('运行时间: {}'.format(time.time() - start_time))
print('d1: {}'.format(d1))

# 第二种:dict()

start_time = time.time()
for i in range(100000):
d2 = dict((key,value) for key,value in dict1.items() if value>2)
print('运行时间: {}'.format(time.time() - start_time))
print('d2: {}'.format(d2))

# 第三种:通过键值来构建

start_time = time.time()
for i in range(100000):
d3 = {key:dict1[key] for key in dict1.keys() if dict1[key]>2}
print('运行时间: {}'.format(time.time() - start_time))
print('d3: {}'.format(d3))

下面是输出结果:

"""
D:\笔记\python电子书\Python3>python index.py
运行时间: 0.15999984741210938
d1: {'c': 3, 'd': 4}
运行时间: 0.2700002193450928
d2: {'c': 3, 'd': 4}
运行时间: 0.18000006675720215
d3: {'c': 3, 'd': 4}
"""

比较字典推导式/dict()/通过键来构造的字典的速率 笔记的更多相关文章

  1. Python基础8:列表推导式(list)字典推导式(dict) 集合推导式(set)

    推导式分为列表推导式(list),字典推导式(dict),集合推导式(set)三种 1.列表推导式也叫列表解析式.功能:是提供一种方便的列表创建方法,所以,列表解析式返回的是一个列表格式:用中括号括起 ...

  2. Python的列表推导式,字典推导式,集合推导式使用方法

    推导式分为列表推导式(list),字典推导式(dict),集合推导式(set)三种 1.列表推导式也叫列表解析式.功能:是提供一种方便的列表创建方法,所以,列表解析式返回的是一个列表格式:用中括号括起 ...

  3. python字典推导式 - python基础入门(17)

    在昨天的文章中,我们介绍了关于python列表推导式 的使用,字典推导式使用方法其实也类似,也是通过循环和条件判断表达式配合使用,不同的是字典推导式返回值是一个字典,所以整个表达式需要写在{}内部. ...

  4. python列表推导式详解 列表推导式详解 字典推导式 详解 集合推导式详解 嵌套列表推导式详解

    推导式是Python中很强大的.很受欢迎的特性,具有语言简洁,简化代码,速度快等优点.推导式包括:1.列表推导式2.字典推导式3.集合推导式4.嵌套列表推导式注意: 字典和集合推导是最近才加入到Pyt ...

  5. python之三元表达式,列表|字典推导式,函数对象

    #### 三元表达式: 就是if....else...的语法糖 # -- 1) 只能解决if...else...结构,其他if分支结构都不管 # -- 2)一个分支提供一个结果: 如果一个分支提供了多 ...

  6. python的各种推导式(列表推导式、字典推导式、集合推导式)

    推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的数据序列的结构体. 共有三种推导,在Python2和3中都有支持: 列表(lis ...

  7. 周末学习笔记——day02(带参装饰器,wraps修改文档注释,三元表达式,列表字典推导式,迭代器,生成器,枚举对象,递归)

    一,复习 ''' 1.函数的参数:实参与形参 形参:定义函数()中出现的参数 实参:调用函数()中出现的参数 形参拿到实参的值,如果整体赋值(自己改变存放值的地址),实参不会改变,(可变类型)如果修改 ...

  8. day 14 三元运算符,列表字典推导式,递归,匿名函数,内置函数(排序,映射,过滤,合并)

    一.三元运算符 就是if.....else..... 语法糖 前提:if和else只有一条语句 #原始版 cmd=input('cmd') if cmd.isdigit(): print('1') e ...

  9. Python中的推导式(列表推导式、字典推导式、集合推导式)

    推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的数据序列的结构体. 共有三种推导,在Python2和3中都有支持: 列表(lis ...

随机推荐

  1. kbmMWLog同时输出日志到多个日志管理器

    kbmMWLog日志框架,针对不同的业务情况,提供了多种日志管理器: TkbmMWStreamLogManager TkbmMWLocalFileLogManager TkbmMWSystemLogM ...

  2. 排序(N+1种)

    from large to small 选择排序: 算法描述: 输入a[n] a[1]~a[n] a[2]~a[n]          a[i]~a[n] 找最小的,与a[1]交换 找最小的,与a[2 ...

  3. JAVA_工具类01_ResourceBundle

    在java.util.ResourceBundle包下,是java提供的工具类 ResourceBundle只能读取properties文件中的内容,可以使用ResourceBundle的静态方法来创 ...

  4. href和src的区别

    虽然一直在用这两个属性,但是一直没有具体的去区分和了解这两个属性的区别,今天就来看看 href标识超文本引用,用在link和a等元素上,href是引用和页面关联,是在当前元素和引用资源之间建立联系 s ...

  5. mysql 批量kill

    select concat('kill ',id,';') t  from information_schema.processlist  order by t

  6. mastering elasticsearch

    概念: Term: 它是搜索的基本单位,其表现形式为文本中的一个词. Token: 它是单个Term在所属Field中文本的呈现形式,包含了Term内容.Term类型.Term在文本中的起始及偏移位置 ...

  7. Markdown显示反引号(`)

    /********************************************************************** * Markdown显示反引号(`) * 说明: * 在 ...

  8. 【leetcode】58-LengthofLastWord

    problem Length of Last Word 只有一个字符的情况: 最后一个word至字符串末尾之间有多个空格的情况: code1 class Solution { public: int ...

  9. 使用Python中的log模块将loss输出到终端与保存到文件

    记得之前对深度学习中得loss输出,经常自己会将输出流重新定向到一个文件中, 比如 python main.py > & | tee log.txt 对于caffe这种c++框架而言,用 ...

  10. Unity 3D中ToLua-UGUI使用说明、导入Unity流程、制作登陆界面

    ToLua制作登录界面 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 请支持大神开发者:骏擎CP,蒙哥等奔 ...