您的位置:首页 > 编程语言 > Python开发

[python]字典的一键多值

2014-08-27 16:38 369 查看
今天在写一个小代码的时候要用到这样的数据结构:一个由dict { key, list [ ] }组成的List列表。可是,如何实现呢?

查阅了《Python Cookbook》,有以下三种方式:

1. d1 = { }

    d1.default ( key, [ ] ).append(value)
//用List实现

2. d2 = { }

    d2.setdefualt( key, { })[ value ] = 1
//使用字典作为dict的值,自然而然的消灭了重复值的可能

3. d3 = { }

    d3.setdefault ( key, set( ) ).add(value)
//在python 2.4中

我采取了第一种的实现方式。

代码示例:

list_p = ['abc','efg','hij']
all_list = []
for i in list_p:
s = {}
s.setdefault(i,[1,2,3])
all_list.append(s)

print all_list运行结果如下:

[{'abc': [1, 2, 3]}, {'efg': [1, 2, 3]}, {'hij': [1, 2, 3]}]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息