python实现一键多值字典的方法实现


本文摘自php中文网,作者不言,侵删。

本篇文章给大家带来的内容是关于python实现一键多值字典的方法实现,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

1、需求

我们想要一个能将键(key)映射到多个值的字(即所谓的一键多值字典)

2、解决方案

字典是一种关联容器,每个键都映射到一个单独的值上。如果想让键映射到多个值,需要将这些多个值保存到另一个容器(列表或者集合)中。

可以这样创建字典:

1

2

3

4

d={

‘a’:[1,2,3],

'b':[4,5]

}

或者这样创建:

1

2

3

4

d={

'a':{1,2,3},

'b':{4,5}

}

要使用列表还是集合完全取决应用的意图。如果希望保留元素插入的顺序,就用列表,如果希望消除重复元素(并且不在意他们的排序),就用集合。

为了能方便的创建这样的字典,可以利用collections模块中的defaultdict类。defaultdict的一个特点就是它会自动初始化第一个值,这样只需关注添加元素即可:

1

2

3

4

5

6

7

8

9

10

11

from collections import defaultdict

d=defaultdict(list)

d['a'].append(1)

d['a'].append(2)

d['b'].append(4)

print(d)

d=defaultdict(set)

d['a'].add(1)

d['a'].add(2)

d['b'].add(4)

print(d)

结果:

1

2

defaultdict(<class 'list'>, {'a': [1, 2], 'b': [4]})

defaultdict(<class 'set'>, {'a': {1, 2}, 'b': {4}})

以上就是python实现一键多值字典的方法实现的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python实现下载文件的三种方法_Python

Python如何批量修改文件后缀名?批量修改文件后缀名的方法

Python编程用哪个软件

Python怎么创建字符串变量

Python爬虫对dota排行榜爬取的实例

Python中导入模块的关键字是什么

类的继承与方法的重载实例

Python基础知识之二:网络通信数据传输

Python是c语言编的吗

Python什么时候用类方法

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...