python字典多键值及重复键值的使用方法(详解)

简介: python字典多键值及重复键值的使用方法(详解)

在Python中使用字典,格式如下:

dict={ key1:value1 , key2;value2 ...}


在实际访问字典值时的使用格式如下:

dict[key]


多键值


字典的多键值形式如下:

dict={(ke11,key12):value ,(key21,key22):value ...}


在实际访问字典里的值时的具体形式如下所示(以第一个键为例):

dict[key11,key12]


或者是:

dict[(key11,key12)]


以下是实际例子:


多值


在一个键值对应多个值时,格式:

dict={key1:(value1,value2 ..), key2:(value1,value2 ...) ...}


访问字典里的值的格式如下:

dict[key]


或者

dict[key][index]


循环赋值(重点)


语法结构如以下实例所示

image.png


总结:


通过以上的说明,可以知道在字典的定义中, 冒号( : ) 号前后是分别是一个整体,即使用小括号()将冒号前后部分分别包括起来,在访问字典值时,最好把键放在小括号内成为一个整体。


键值相同的多个键值对

即在字典中,有至少两个成员的键相同,但是键对应的值是不同的,格式如下:

dict={ key1: value1
key1: vaklue2,
... }


在这种形式形式中在后来赋给键的值将成为键的真实值。

image.png


使用列表、字典作为字典的值

格式

dict={ key1:(key11:value,key12:value) ,
key2:(key21:value,key22:value)
}


访问字典值得格式(以第一个键为例):

dict[key1][key11]


实际例子如下所示:

#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([])


相关文章
|
2月前
|
存储 JSON 索引
一文让你彻底搞懂 Python 字典是怎么实现的
一文让你彻底搞懂 Python 字典是怎么实现的
53 13
|
2月前
|
存储 数据安全/隐私保护 Python
Python常用数据结构——字典的应用
Python常用数据结构——字典的应用
|
1月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
32 0
|
1月前
|
存储 自然语言处理 数据库
Python字典操作实现文章敏感词检索
Python字典操作实现文章敏感词检索
|
1月前
|
存储 JSON 数据处理
分析、总结Python使用列表、元组、字典的场景
分析、总结Python使用列表、元组、字典的场景
|
1月前
|
存储 Java Serverless
【Python】字典
【Python】字典
31 0
|
1月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (一)
Python操作:字符串--列表--元组--字典--运算符 (一)
|
1月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (二)
Python操作:字符串--列表--元组--字典--运算符 (二)
|
2月前
|
存储 数据安全/隐私保护 Python
Python常用数据结构—字典
Python常用数据结构—字典
WK
|
2月前
|
存储 安全 索引
如何在Python中访问字典中的值
在Python中,访问字典(Dictionary)中的值非常简单。字典是一种无序的集合,它存储了键值对(key-value pairs),其中每个键都是唯一的,并映射到一个值上。要访问字典中的值,你需要使用键作为索引。
WK
51 0
下一篇
无影云桌面