python——OrderedDict 、importlib

本文介绍了Python中OrderedDict的应用,展示了如何保持JSON解析时的元素顺序,并探讨了使用importlib进行动态模块导入的方法,以及Python中==与is操作符的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OrderedDict 有序字典

OrderedDict是dict的子类,它记住了内容添加的顺序。
比较时,OrderedDict要内容和顺序完全相同才会视为相等
    import collections  
    d = collections.OrderedDict()  
    d[3] = 'A'  
    d[2] = 'B'  
    d[1] = 'C'  
      
    for k, v in d.items():  
       print k, v  

 >>读取json串时如何保持原有顺序

    import json  
    from collections import OrderedDict  
    metadata = json.loads(text, object_pairs_hook=OrderedDict);  


importlib的动态导入模块

 有的时候,两个不同的模块提供了相同的功能,比如 StringIO 和 cStringIO 都提供了StringIO这个功能。

这是因为Python是动态语言,解释执行,因此Python代码运行速度慢。

如果要提高Python代码的运行速度,最简单的方法是把某些关键函数用 C 语言重写,这样就能大大提高执行速度。

同样的功能,StringIO 是纯Python代码编写的,而 cStringIO 部分函数是 C 写的,因此 cStringIO 运行速度更快。

利用ImportError错误,我们经常在Python中动态导入模块:
    
try:
    from cStringIO import StringIO
except ImportError:

    from StringIO import StringIO



==与is的区别
==:比较的是值
is:比较的是对他的引用


#python的引用
#python中的对象:内存中存在的都是对象,包括简单的值,或者复杂的数据类型。
#对象分为可变的和不可变的两种

#可变对象:list,dict,set,自定义的类的实例
#不可变对象:数字,字符串元组


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值