python字典一键多值实例代码分享

作者:laozhang 时间:2021-07-08 10:47:52 

python中字典可以一键多值,也就是意味着一个键可以对应多个值。

例:


#encoding=utf-8

print '中国'

#字典的一键多值

print'方案一 list作为dict的值 值允许重复'

d1={}

key=1

value=2

d1.setdefault(key,[]).append(value)

value=2

d1.setdefault(key,[]).append(value)

print d1

#获取值

print '方案一 获取值'

print list(d1[key])

print '方案一 删除值,会留下一个空列表'

d1[key].remove(value)

d1[key].remove(value)

print d1

print '方案一 检查是否还有一个值'

print d1.get(key,[])

print '方案二 使用子字典作为dict的值 值不允许重复'

d1={}

key=1

keyin=2

value=11

d1.setdefault(key,{})[keyin]=value

keyin=2

value=22

d1.setdefault(key,{})[keyin]=value

keyin=3

value=33

d1.setdefault(key,{})[keyin]=value

print d1

print '方案二 获取值'

print list(d1[key])

print '方案二 删除值,会留下一个空列表'

del d1[key][keyin]

keyin=2

del d1[key][keyin]

print d1

print '方案二 检查是否还有一个值'

print d1.get(key,())

print '方案三 使用set作为dict的值 值不允许重复'

d1={}

key=1

value=2

d1.setdefault(key,set()).add(value)

value=2

d1.setdefault(key,set()).add(value)

value=3

d1.setdefault(key,set()).add(value)

print d1

print '方案三 获取值'

print list(d1[key])

print '方案三 删除值,会留下一个空列表'

d1[key].remove(value)

value=2

d1[key].remove(value)

print d1

print '方案三 检查是否还有一个值'

print d1.get(key,())

打印结果如下:


中国

方案一 list作为dict的值 值允许重复

{1: [2, 2]}

获取值

[2, 2]

删除值,会留下一个空列表

{1: []}

检查是否还有一个值

[]

方案二 使用子字典作为dict的值 值不允许重复

{1: {2: 22, 3: 33}}

获取值

[2, 3]

删除值,会留下一个空列表

{1: {}}

检查是否还有一个值

{}

方案三 使用set作为dict的值 值不允许重复

{1: set([2, 3])}

获取值

[2, 3]

删除值,会留下一个空列表

{1: set([])}

检查是否还有一个值

set([])
标签:python,字典,一键多值
0
投稿

猜你喜欢

  • 在OracleE数据库的字段上建立索引的方法

    2009-02-26 10:34:00
  • OpenCV图像缩放resize各种插值方式的比较实现

    2023-03-18 13:31:45
  • Python2与Python3的区别点整理

    2022-02-23 07:44:46
  • python实现logistic分类算法代码

    2021-12-24 14:19:15
  • pytorch 获取层权重,对特定层注入hook, 提取中间层输出的方法

    2021-05-20 07:01:01
  • 判断Session的过期时间 采用JavaScript实时显示剩余多少秒

    2011-04-04 10:48:00
  • Python Pygame实现俄罗斯方块

    2023-03-17 07:18:03
  • Python运行DLL文件的方法

    2021-12-25 15:23:21
  • Python闭包与装饰器原理及实例解析

    2023-04-08 19:44:30
  • python实现打砖块游戏

    2023-11-09 21:27:15
  • 操作设计要素

    2011-03-04 16:23:00
  • IE7新支持的CSS属性和属性选择符

    2008-03-16 14:26:00
  • 通过XSL转换XML文件步骤

    2008-01-27 16:03:00
  • Keras 多次加载model出错的解决方案

    2023-11-01 20:52:35
  • 基于jQuery实现的立体文字渐变效果

    2009-05-18 19:15:00
  • 学习完全掌握纯CSS布局网页

    2008-05-28 17:14:00
  • Design IT.(2),关于好设计

    2008-09-08 12:44:00
  • Python中的zipfile模块使用详解

    2023-02-26 22:44:37
  • Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法

    2023-07-14 14:37:00
  • Python常用时间操作总结【取得当前时间、时间函数、应用等】

    2021-01-12 20:32:33
  • asp之家 网络编程 m.aspxhome.com