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


相关文章
|
5天前
|
存储 JSON 索引
一文让你彻底搞懂 Python 字典是怎么实现的
一文让你彻底搞懂 Python 字典是怎么实现的
29 13
|
6天前
|
存储 数据安全/隐私保护 Python
Python常用数据结构——字典的应用
Python常用数据结构——字典的应用
10 2
|
10天前
|
关系型数据库 MySQL 数据库
Python MySQL查询返回字典类型数据的方法
通过使用 `mysql-connector-python`库并选择 `MySQLCursorDict`作为游标类型,您可以轻松地将MySQL查询结果以字典类型返回。这种方式提高了代码的可读性,使得数据操作更加直观和方便。上述步骤和示例代码展示了如何实现这一功能,希望对您的项目开发有所帮助。
33 4
|
8天前
|
Python
Python 字典删除下标前两个
Python 字典删除下标前两个
11 1
|
6天前
|
存储 数据安全/隐私保护 Python
Python常用数据结构—字典
Python常用数据结构—字典
WK
|
8天前
|
存储 安全 索引
如何在Python中访问字典中的值
在Python中,访问字典(Dictionary)中的值非常简单。字典是一种无序的集合,它存储了键值对(key-value pairs),其中每个键都是唯一的,并映射到一个值上。要访问字典中的值,你需要使用键作为索引。
WK
10 0
WK
|
8天前
|
存储 Python 容器
如何在Python中创建字典
在Python中,创建字典(Dictionary)是非常直观的。字典是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。在字典中,每个元素都是一个键值对(key-value pair),其中键(key)必须是唯一的,而值(value)则可以是任何数据类型。
WK
8 0
|
8天前
|
Python
python推导式-列表,元组,字典,集合推导式
这篇文章介绍了Python中的推导式,包括列表推导式、元组推导式、字典推导式和集合推导式,提供了它们的基本格式和示例代码,并解释了推导式如何简化循环和条件判断的代码编写。
|
8天前
|
Python
Python 字典删除下标前两个
Python 字典删除下标前两个
10 0
|
2月前
|
存储 数据库 Python
Python 中的字典是什么?
【8月更文挑战第29天】
33 0
下一篇
无影云桌面