`

Python 字典的遍历

阅读更多
# 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字典遍历操作详解 #### 一、引言 在Python编程中,字典是一种非常实用的数据结构,它允许我们通过键(key)来快速访问对应的值(value)。字典的操作灵活多样,其中最常见的一项操作就是遍历。本文将详细介绍...

    Python简单遍历字典及删除元素的方法

    本文实例讲述了Python简单遍历字典及删除元素的方法。分享给大家供大家参考,具体如下: 这种方式是一定有问题的: d = {'a':1, 'b':2, 'c':3} for key in d: d.pop(key) 会报这个错误:RuntimeError: dictionary...

    完美解决python遍历删除字典里值为空的元素报错问题

    #### 一、Python 字典遍历与删除操作的基本概念 **1.1 字典遍历** - Python中的字典是一种无序的键值对集合。 - 遍历字典时,可以使用 `for` 循环结合 `keys()`、`values()` 或 `items()` 方法来实现。 **1.2 删除...

    Python字典创建 遍历 添加等实用基础操作技巧

    字段是Python是字典中唯一的键-值类型,是Python中非常重要的数据结构,因其用哈希的方式存储数据,其复杂度为O(1),速度非常快。下面列出字典的常用的用途. 一、字典中常见方法列表 代码如下: D.clear() #移除D中的...

    python 循环遍历字典元素.docx

    ### Python 循环遍历字典元素 #### 核心概念与知识点 1. **字典数据结构**:Python 中的字典是一种可变容器模型,用于存储具有唯一键值对的数据类型。键必须是不可变类型(如字符串、数字或元组),而值可以是任何...

    65.Python之遍历dict共2页.pdf.zip

    Python字典(Dictionary)是其内置数据...无论是数据处理、数据分析还是构建复杂的逻辑,掌握字典遍历技巧都是提高Python编程效率的关键。在实践中,不断探索和实践这些概念,将使您在Python编程旅程中更加得心应手。

    python爬虫学习案例-.字典中的字典遍历.rar

    字典中的字典遍历.rar"着重于如何在处理数据时遍历嵌套的字典结构,这在解析网页抓取的数据时尤其常见。在Python中,字典是一种非常灵活的数据结构,它允许我们将键(key)与值(value)关联起来,而当字典的值又是...

    Python3实现的字典遍历操作详解

    本文实例讲述了Python3字典遍历操作。分享给大家供大家参考,具体如下: 字典是针对非序列集合而提供的一种数据类型。 通过任意键查找集合中值信息的过程叫映射,python通过字典实现映射。 为字典赋值: >>> d={'...

    Python中遍历字典过程中更改元素导致异常的解决方法

    这是因为Python的字典在遍历过程中使用迭代器,而迭代器是基于字典当前的状态生成的。如果在遍历期间字典被修改,迭代器可能无法正确地处理这种变化。 首先,我们来看几种遍历字典的方法: 1. 使用`for i in dict:...

    第七天 03字典遍历【千锋Python人工智能学院】1

    在Python编程语言中,字典是一种非常重要的数据结构,它以键值对的形式存储数据,提供了灵活且高效的方式来处理关联数据。本节我们将深入探讨如何遍历字典,包括遍历字典的键、值、项以及键值对。同时,我们会通过两...

    python同时遍历两个list用法说明

    在Python编程语言中,有时我们需要同时遍历两个或多个列表,以便对它们的元素进行同步操作,例如将它们组合成新的数据结构。标题所提到的"python同时遍历两个list用法说明"主要聚焦于使用`zip`函数来实现这个目的。`...

    python_json.7z

    **三、Python字典遍历** 如果`data`是一个字典,我们可以使用`items()`方法来遍历键值对: ```python for key, value in data.items(): if isinstance(value, dict): # 如果值是字典,递归遍历 for sub_key, sub...

    python中将字典形式的数据循环插入Excel

    1.我们看到字典形式的数据如下所示 list=[[2891-1, D],[2892-1, D],[2896-1, B],[2913-1, 0],[2913-2, 1],[2913-3, 1]] 此list是在数据库中存在的 2.我们把这些样式的字点数据做一次数据转换 把list转换成字典的...

    Python中字典对象的遍历示例

    使用环境:需要先安装PyCharm(请自己百度下载安装),以及然后官网上下载Python 2.7版本,以及Python 3.7版本后,安装在自己的电脑上。 使用步骤: 1、下载解压缩之后,打开...目的:帮助理解字典对象的遍历操作。

    Python多维/嵌套字典数据无限遍历的实现

    ### Python多维/嵌套字典数据无限遍历的实现 在Python编程中,处理复杂的多维或嵌套字典是常见的需求之一。这类数据结构通常用于存储具有层级关系的信息,例如用户信息、产品属性等。本文将详细介绍如何实现Python...

    python 循环遍历字典元素的简单方法

    ### Python 循环遍历字典元素的简单方法 在Python编程中,字典是一种非常常用的数据结构,它由键值对组成。由于其高效、灵活的特点,在处理各种数据问题时,字典经常被用来存储配置信息、统计信息等。本文将详细...

Global site tag (gtag.js) - Google Analytics