iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python 字典(Dictionary)
  • 482
分享到

python 字典(Dictionary)

字典pythonDictionary 2023-01-30 21:01:02 482人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)

字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

键必须是唯一的,但值则不必。


值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。


字典的特性:


dict是无序的

key必须是唯一的,so 天生去重


举个例子,下面是一个班级同学信息

info = {
    'stu1101': "Zhang San",
    'stu1102': "Li Si",
    'stu1103': "Wang Wu",
}
print(info)

执行输出

{'stu1101': 'Zhang San', 'stu1102': 'Li Si', 'stu1103': 'Wang Wu'}


查询

通过key查找

print(info.get("stu1101"))

执行输出 Zhang San

如果不存在,输出 None


还有一种方法,也可以查询,效果同上

print(info["stu1101"])

如果不存在,就报错

不推荐使用此方法


修改

info["stu1101"] = "Zhang Yi Xin"
print(info)

执行输出

{'stu1101': 'Zhang Yi Xin', 'stu1102': 'Li Si', 'stu1103': 'Wang Wu'}


添加

如果修改的key不存在,则添加

info["stu1104"] = "Feng Shao Feng"
print(info)

执行输出

{'stu1101': 'Zhang San', 'stu1102': 'Li Si', 'stu1103': 'Wang Wu', 'stu1104': 'Feng Shao Feng'}


删除

info["stu1104"] = "Feng Shao Feng"
info.pop("stu1103")
print(info)

执行输出

{'stu1101': 'Zhang San', 'stu1102': 'Li Si', 'stu1104': 'Feng Shao Feng'}


另外一个方法,也可以实现删除,效果同上

info["stu1104"] = "Feng Shao Feng"
del info["stu1103"]
print(info)


判断一个key是否存在字典中,可以使用in方法

print("stu1101" in info)

执行输出 True,不存在时,返回false


打印所有的值

print(info.values())

执行输出,不包括key

dict_values(['Zhang San', 'Li Si', 'Wang Wu'])


打印所有的key

print(info.keys())

执行输出

dict_keys(['stu1101', 'stu1102', 'stu1103'])


setdefault() 函数和get() 方法类似, 如果键不存在于字典中,将会添加键并将值设为默认值。

#删除一个key
info.pop("stu1101")
info.setdefault('stu1101',"Zhang Xue You")
print(info)

执行输出

{'stu1102': 'Li Si', 'stu1103': 'Wang Wu', 'stu1101': 'Zhang Xue You'}


以一个字典去并更新另外一个字典

info = {
    'stu1101': "Zhang San",
    'stu1102': "Li Si",
    'stu1103': "Wang Wu",
}
b = {
    'stu1101': "Zhang Zi Cheng",
    1:3,
    2:5,
}
info.update(b)
print(info)

执行输出

{'stu1101': 'Zhang Zi Cheng', 'stu1102': 'Li Si', 'stu1103': 'Wang Wu', 1: 3, 2: 5}


从上可以看出,update()方法,将2个字典合并了,Key相同的值被后面一个更新了。


将字典转换为列表

info = {
    'stu1101': "Zhang San",
    'stu1102': "Li Si",
    'stu1103': "Wang Wu",
}
print(info.items())

执行输出

dict_items([('stu1101', 'Zhang San'), ('stu1102', 'Li Si'), ('stu1103', 'Wang Wu')])


使用列表初始化一个字典

c = dict.fromkeys([6,7,8],"test")
print(c)

执行输出
{6: 'test', 7: 'test', 8: 'test'}


fromkeys是存在一个坑的,举个例子:

c = dict.fromkeys([6,7,8],[1,{"name":"jack"},333])
print(c)
#修改key为7的name值
c[7][1]['name'] = "rose"
print(c)

执行输出

{6: [1, {'name': 'jack'}, 333], 7: [1, {'name': 'jack'}, 333], 8: [1, {'name': 'jack'}, 333]}

{6: [1, {'name': 'rose'}, 333], 7: [1, {'name': 'rose'}, 333], 8: [1, {'name': 'rose'}, 333]}


怎么会这样?明明只修改了一个值,却都修改了。和浅copy类似的问题

注意: fromkeys后面的值,最好是一层的,如果有多层,修改时,会全部修改。

这个方法,尽量少用。


循环字典

方法1

for key in info:
    print(key,info[key])

执行输出

stu1101 Zhang San

stu1102 Li Si

stu1103 Wang Wu


方法2

#会先把dict转成list,数据里大时莫用
for k,v in info.items():
    print(k,v)

执行输出,效果同上。


推荐使用方法1

因为方法1,直接使用key去遍历字典

方法2,把数据转换为列表后,再输出,效率不够高效。

--结束END--

本文标题: python 字典(Dictionary)

本文链接: https://www.lsjlt.com/news/178981.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python 字典(Dictionary)
    字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)...
    99+
    2023-01-30
    字典 python Dictionary
  • Python 字典(Dictionary
    n字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:d = {key1 : value1, key2 ...
    99+
    2023-01-31
    字典 Python Dictionary
  • Python数据类型--字典dictionary
    目录一、定义二、操作三、遍历字典一、定义 字典是一系列的键-值对,键与值之间用冒号隔开,而键-值对之间用逗号隔开,其中的“键”和“值”...
    99+
    2024-04-02
  • Python 字典(Dictionary)详细介绍
    目录1.访问字典里的值2.修改字典3.删除字典元素3.1字典键的特性4.字典内置函数&方法字典是另一种可变容器模型,且可存储任意类型对象。 字典的每个键值 key=>v...
    99+
    2024-04-02
  • 关于Python字典(Dictionary)操作详解
    目录一、创建字典二、访问字典里的值三、修改字典四、删除字典元素五、字典键的特性六、字典内置函数&方法Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字...
    99+
    2023-05-15
    Python字典 Python Dictionary
  • Python必备技巧之字典(Dictionary)详解
    目录定义字典字典的访问字典键与列表索引增量构建字典字典键的限制字典值的限制运算符和内置函数内置字典方法Python中的字典由于是对象的集合属于复合数据类型,类似于列表。 定义字典 ...
    99+
    2024-04-02
  • 英文单词缩写----DXNRY – Dictionary 字典
    由于英文的字母太多,不方便的时候发短信很慢,所以外国人很多都在短信上输入 缩写 ,这样就节省了很多时间。花了好久才把这些 缩写 给整理出来,唯一在这里需要说明的是,不是所有的人都明白这些 缩写...
    99+
    2024-04-02
  • C#泛型字典Dictionary怎么使用
    这篇文章主要介绍了C#泛型字典Dictionary怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#泛型字典Dictionary怎么使用文章都会有所收获,下面我们一起来看看吧。泛型最常见的用途是泛型集合...
    99+
    2023-06-30
  • C#泛型字典Dictionary的使用详解
    本文主要介绍了C# 泛型字典 Dictionary的使用详解,分享给大家,具体如下: 泛型最常见的用途是泛型集合,命名空间System.Collections.Generic 中包含...
    99+
    2024-04-02
  • C#实现Dictionary字典赋值的方法
    Dictionary<TKey,TValue> 类,表示键和值的集合。 Dictionary<TKey,TValue> 泛型类提供一组键到一组值的映射。 每次...
    99+
    2024-04-02
  • C#字典Dictionary的用法说明(注重性能版)
    前言 以键值对Dictionary<[key], [value]>形式存值,和哈希表很像也是一种无序的结构。 要使用Dictionary,需要先导入C#泛型命名空间Sys...
    99+
    2024-04-02
  • python 字典
    一、什么是字典   字典是一种可变容器模型,且可存储任意类型对象。字典的每个键值对(key->value)用冒号“:”分割,每个键值对之间用逗号“,”分割,整个字典包括在花括号“{}”中   注意:键必须使用不可变类型即整形、字符串...
    99+
    2023-01-30
    字典 python
  • python---字典
    #字典是key-value的数据类型,字典是无序的,没有下标(列表有下标),key必须是唯一的info = {     "stu001":"fengxiaoli",     "stu002":"cx",     "stu003":"wyc"...
    99+
    2023-01-31
    字典 python
  • python字典
    所不同的是列表的索引只是从0开始的有序整数,不可重复;而字典的索引实际上在字典里应该叫键,虽然字典中的键和列表中的索引一样是不可重复的,但键是无序的,也就是说字典中的元素是没有顺序而言的,字典中的元素任意排列但不影响字典的使用字典的键可以是...
    99+
    2023-01-30
    字典 python
  • python - 字典
    *********************字典******************字典是python中唯一的映射类型,key-value(哈希表),字典对象是可变的,但key必须用不可变对象。字典是无序的。*)字典的创建1.赋值创建字典,k...
    99+
    2023-01-31
    字典 python
  • python字典嵌套字典实例
    日志文件样式:2018-06-27 09:07:37 Postman[INFO]: [1530061656f8lda-7M5E9] from: <lilh@test.com><router>, to: <xie...
    99+
    2023-01-31
    字典 嵌套 实例
  • Python之字典
    ''' 字典 : 以"{}",每一项以",",元素以"key : value"的键值对形式存在的一种数据结构         #注 : 要求key必须可哈希,即不可变且唯一,即不存在在同一字典出现两个相同的key 字典的新增 :     d...
    99+
    2023-01-31
    字典 Python
  • Python字典dict
    dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。Python中的唯一一种映射类型。 举个例子,假设要根据同学的名字...
    99+
    2023-01-31
    字典 Python dict
  • python元字典
    Python元字典字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。字典用"{ }"标识。字...
    99+
    2023-01-31
    字典 python
  • Python的字典 { }
    Python的字典属于一种数据类型,我们可以把数据存到字典里面,字典使用大括号“{}”来定义。比如现在要存储一个人的信息然后读取出来,就可以使用切片的方式来体现: In [1]: info ='Tom 180 Male' In [2]: ...
    99+
    2023-01-31
    字典 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作