# encoding: utf-8 test_dict = { 'attack': 379, 'attack_growth': 16.8, 'bp_size': 80, 'critical_rate': 0.15, 'ctype': '2', 'defense': 155, 'defense_growth': 8.25, 'exp_type': 'c', 'fate_id': ['ch_10004', 'ch_10005', 'ch_10006', 'ch_20003', 'ch_20004'], 'hp': 1861, 'hp_growth': 69.6, 'max_talent_lv': 7, 'name': 'caocao', 'pvp_skill_rate': 1, 'recover': 281, 'recover_growth': 11.8, 'souls_needed': 30, 'star': '5', 'talent_lv': 0, 'who_is': 'caocao', } # 不同的遍历方法 def test1(): for key in test_dict: # 这种最快, 其实也很显而易见 pass def test2(): for key in test_dict.keys(): pass def test3(): for key, value in test_dict.items(): pass if __name__ == '__main__': from timeit import Timer t1 = Timer("test1()", "from __main__ import test1") t2 = Timer("test2()", "from __main__ import test2") t3 = Timer("test3()", "from __main__ import test3") # 执行100,000次的时间 print t1.timeit(100000) print t2.timeit(100000) print t3.timeit(100000) # 3次执行100,000次的时间 print t1.repeat(3, 100000) print t2.repeat(3, 100000) print t3.repeat(3, 100000)
结果:
0.0656280517578
0.0932841300964
0.217456817627
[0.06363296508789062, 0.062133073806762695, 0.0649728775024414]
[0.08316302299499512, 0.08275103569030762, 0.08605194091796875]
[0.21467804908752441, 0.19786405563354492, 0.20139288902282715]
但空的循环没有意义
# encoding: utf-8 test_dict = { 'attack': 379, 'attack_growth': 16.8, 'bp_size': 80, 'critical_rate': 0.15, 'ctype': '2', 'defense': 155, 'defense_growth': 8.25, 'exp_type': 'c', 'fate_id': ['ch_10004', 'ch_10005', 'ch_10006', 'ch_20003', 'ch_20004'], 'hp': 1861, 'hp_growth': 69.6, 'max_talent_lv': 7, 'name': 'caocao', 'pvp_skill_rate': 1, 'recover': 281, 'recover_growth': 11.8, 'souls_needed': 30, 'star': '5', 'talent_lv': 0, 'who_is': 'caocao', } # 不同的遍历方法 def test1(): data = {} for key in test_dict: data[key] = test_dict[key] return data def test2(): data = {} for key in test_dict.keys(): data[key] = test_dict[key] return data def test3(): data = {} for key, value in test_dict.items(): data[key] = value return data print test1() print test2() print test3() if __name__ == '__main__': from timeit import Timer t1 = Timer("test1()", "from __main__ import test1") t2 = Timer("test2()", "from __main__ import test2") t3 = Timer("test3()", "from __main__ import test3") # 执行100,000次的时间 print t1.timeit(100000) print t2.timeit(100000) print t3.timeit(100000) # 3次执行100,000次的时间 print t1.repeat(3, 100000) print t2.repeat(3, 100000) print t3.repeat(3, 100000)
结果:
0.39611697197
0.423596143723
0.477458953857
[0.41298508644104004, 0.3765869140625, 0.3731379508972168]
[0.4185318946838379, 0.42104601860046387, 0.4249718189239502]
[0.42894506454467773, 0.4049968719482422, 0.3907771110534668]
差别没那么明显, 不同的遍历在不同地方处理数据
相关推荐
### Python字典遍历操作详解 #### 一、引言 在Python编程中,字典是一种非常实用的数据结构,它允许我们通过键(key)来快速访问对应的值(value)。字典的操作灵活多样,其中最常见的一项操作就是遍历。本文将详细介绍...
本文实例讲述了Python简单遍历字典及删除元素的方法。分享给大家供大家参考,具体如下: 这种方式是一定有问题的: d = {'a':1, 'b':2, 'c':3} for key in d: d.pop(key) 会报这个错误:RuntimeError: dictionary...
#### 一、Python 字典遍历与删除操作的基本概念 **1.1 字典遍历** - Python中的字典是一种无序的键值对集合。 - 遍历字典时,可以使用 `for` 循环结合 `keys()`、`values()` 或 `items()` 方法来实现。 **1.2 删除...
字段是Python是字典中唯一的键-值类型,是Python中非常重要的数据结构,因其用哈希的方式存储数据,其复杂度为O(1),速度非常快。下面列出字典的常用的用途. 一、字典中常见方法列表 代码如下: D.clear() #移除D中的...
### Python 循环遍历字典元素 #### 核心概念与知识点 1. **字典数据结构**:Python 中的字典是一种可变容器模型,用于存储具有唯一键值对的数据类型。键必须是不可变类型(如字符串、数字或元组),而值可以是任何...
Python字典(Dictionary)是其内置数据...无论是数据处理、数据分析还是构建复杂的逻辑,掌握字典遍历技巧都是提高Python编程效率的关键。在实践中,不断探索和实践这些概念,将使您在Python编程旅程中更加得心应手。
字典中的字典遍历.rar"着重于如何在处理数据时遍历嵌套的字典结构,这在解析网页抓取的数据时尤其常见。在Python中,字典是一种非常灵活的数据结构,它允许我们将键(key)与值(value)关联起来,而当字典的值又是...
本文实例讲述了Python3字典遍历操作。分享给大家供大家参考,具体如下: 字典是针对非序列集合而提供的一种数据类型。 通过任意键查找集合中值信息的过程叫映射,python通过字典实现映射。 为字典赋值: >>> d={'...
这是因为Python的字典在遍历过程中使用迭代器,而迭代器是基于字典当前的状态生成的。如果在遍历期间字典被修改,迭代器可能无法正确地处理这种变化。 首先,我们来看几种遍历字典的方法: 1. 使用`for i in dict:...
在Python编程语言中,字典是一种非常重要的数据结构,它以键值对的形式存储数据,提供了灵活且高效的方式来处理关联数据。本节我们将深入探讨如何遍历字典,包括遍历字典的键、值、项以及键值对。同时,我们会通过两...
在Python编程语言中,有时我们需要同时遍历两个或多个列表,以便对它们的元素进行同步操作,例如将它们组合成新的数据结构。标题所提到的"python同时遍历两个list用法说明"主要聚焦于使用`zip`函数来实现这个目的。`...
**三、Python字典遍历** 如果`data`是一个字典,我们可以使用`items()`方法来遍历键值对: ```python for key, value in data.items(): if isinstance(value, dict): # 如果值是字典,递归遍历 for sub_key, sub...
1.我们看到字典形式的数据如下所示 list=[[2891-1, D],[2892-1, D],[2896-1, B],[2913-1, 0],[2913-2, 1],[2913-3, 1]] 此list是在数据库中存在的 2.我们把这些样式的字点数据做一次数据转换 把list转换成字典的...
使用环境:需要先安装PyCharm(请自己百度下载安装),以及然后官网上下载Python 2.7版本,以及Python 3.7版本后,安装在自己的电脑上。 使用步骤: 1、下载解压缩之后,打开...目的:帮助理解字典对象的遍历操作。
### Python多维/嵌套字典数据无限遍历的实现 在Python编程中,处理复杂的多维或嵌套字典是常见的需求之一。这类数据结构通常用于存储具有层级关系的信息,例如用户信息、产品属性等。本文将详细介绍如何实现Python...
### Python 循环遍历字典元素的简单方法 在Python编程中,字典是一种非常常用的数据结构,它由键值对组成。由于其高效、灵活的特点,在处理各种数据问题时,字典经常被用来存储配置信息、统计信息等。本文将详细...