Python论坛  - 讨论区

标题:Python Cookbook 之 使用defauldict实现multimap

2014年03月06日 星期四 10:05

C++ STL中包含一个multimap的容器,可以实现一个key对应多个value的需求。在Python中,我们可以使用了一个类似map<T,list<T>>或者map<T,set<T>>的数据结构来实现这样的需求。

示例代码如下:

from collections import defaultdict

od=defaultdict(list)
od['laomeng'].append("laomeng@163.com")
od['laomeng'].append("mengguang@gmail.com")
od['laozhang'].append("laozhang@sina.com")

print(od['laomeng'])
print(od['laozhang'])
print(od['laoli'])

od=defaultdict(set)
od['laomeng'].add("laomeng@163.com")
od['laomeng'].add("mengguang@gmail.com")
od['laozhang'].add("laozhang@sina.com")

print(od['laomeng'])
print(od['laozhang'])
print(od['laoli'])

参考资料:

http://docs.python.org/3/library/collections.html#collections.defaultdict

http://www.cplusplus.com/reference/map/multimap/

 

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号