python字典排序
python字典排序
1、
准备知识:
在python里,字典dictionary是内置的数据类型,是个无序的存储结构,每一元素是key-value对:
如:dict = {‘username’:‘password’,‘database’:‘master’},其中‘username’和‘database’是key,而‘password’和‘master’是value,可以通过d[
key
]获得对应值value的引用,但是不能通过value得到key。
对于dictionnary,需知道以下几点注意事项:
a、
dictionary 的 key 是大小写敏感的
;
b、
一个dictionary中不能有重复的 key
;
c、
d
ictionary
是无序的,没有元素顺序的概念,
它们只是序偶的简单排列
。
2、
字典排序实现:
参见cookbook,
Recipe 5.1. Sorting a Dictionary
讲述了字典排序的方法;
前面已说明d
ictionary
本身没有顺序概念,但是总是在某些时候,但是我们常常需要对字典进行排序,怎么做呢?下面告诉你:
方法1:
最简单的方法,
排列元素(key/value对)
,
然后挑出值
。
字典的
items
方法,会返回一个元组的列表,其中每个元组都包含一对项目——键与对应的值
。此时排序可以
sort()方法
。
def
sortedDictValues1(adict):
items = adict.items()
items.sort()
return
[value for
key, value in
items]
方法2:
使用排列键
(key)
的方式,挑出值,速度比方法1快。
字典对象的keys()方法返回字典中所有键值组成的列表,次序是随机的。需要排序时只要对返回的键值列表使用sort()方法
。
def
sortedDictValues1(adict):
keys = adict.keys()
keys.sort()
return
[adict[key] for
key in
keys]
方法3:
通过映射的方法去更有效的执行最后一步
def
sortedDictValues1(adict):
keys = adict.keys()
keys.sort()
return
map(
adict.get,keys)
方法4:
对字典按键排序,用元组列表的形式返回,同时使用lambda函数来进行;
sorted
(iterable
[
, cmp
[
相关文档:
python的C、c++扩展
http://blog.chinaunix.net/u3/110228/showart_2148725.html
python的强大不仅表现在其功能上,而且还表现在其扩展能力上。
使用C/C++很容易编写python的模块,扩展python的功能。
同时将性能要求比较高的代码使用C/C++编写,能更好的弥补
脚本语言执行速度慢的缺陷。
1. python的C语言扩展
1.1 ......
用python写的抓取天气预报的脚本
http://blog.chinaunix.net/u2/82009/showart_2166843.html
从昨天开始的看关于网络抓取的东西,而且自己的用的是awesome ,所以写了这个天气预报的脚本给我的awesome,这个天气脚本直接取下来的话是七天的天气预报从中国天气网上,我后面对它做了处理,用到了我的awesome上
效果:1日星 ......
python中的datetime module是专门处理时间相关内容的模块,功能很强大,但是反而显得比较复杂。
一下代码是用来求从mysql中取到的timestamp和当前时间比较,求时间差的方法
import datetime
lasttime=a.get_last_timestamp(sid=40)[-1]["last_time"] #取到timestamp
delta = datetime.datetime.now()-lasttime # ......
Python的内存泄漏及gc模块的使用
-- 6.11日错误修正版
Horin|贺勤
Email: horin153@msn.com
......
我们在做软件开发的时候很多要用到多线程技术。例如如果做一个下载软件象flashget就要用到、象在线视频工具realplayer也要用到因为要同时下载media stream还要播放。其实例子是很多的。
线程相对进程来说是“轻量级”的,操作系统用较少的资源创建和管理线程。程序中的线程在相同的内存空间中执行,并共享许多 ......