老生常谈python字典用法

目录
  • 创建字典
  • 遍历
  • 访问
  • 修改
  • 删除
  • setdefault() 方法

创建字典

python 创建字典可以使用 dict 函数,或者使用花括号,用花括号的方式更为常见。

d = {
    "a": "Athens",
    "b": "Belgrade",
    "c": "Cairo"
}

或者:

d = dict(a="Athens", b="Belgrade", c="Cairo")

遍历

python 可以方便地遍历字典的 keys, values ,或者在遍历的时候获得 key 和 value。下面的代码演示了遍历的方式:

for item in d.items():
    print(item)

这种方式,每一个 item 是一个 tuple,包括 key 和 value。

('a', 'Athens')
('b', 'Belgrade')
('c', 'Cairo')

也可以在遍历的时候通过两个变量得到 key 和 value:

for k, v in d.items():
    print(k, v)

如果只关心 keys:

for k in d.keys():
    print(k)

如果只关心 values:

for v in d.values():
    print(v)

访问

使用 d[k] 的语法获得 key 为 k 的值,如果 key 不存在,抛出 KeyError。比如刚才的字典中 print(d["a"]) 得到 Athens,但如果是 d[“d”],因为并不存在 key 为 d 的项,所以抛出 KeyError:

d = dict(a="Athens", b="Belgrade", c="Cairo")
print(d["d"])

运行代码,抛出异常如下:

Traceback (most recent call last):
  File "d:/temporary/python dict demo/test.py", line 4, in <module>
    print(d["d"])
KeyError: 'd'

如果想避免抛出异常,有两个方法:方法一是使用 get() 方法,没有对应的 Key 返回 None:

d = dict(a="Athens", b="Belgrade", c="Cairo")
print(d.get("d"))

方法二是在使用前先通过 in 进行判断:

d = dict(a="Athens", b="Belgrade", c="Cairo")
if "a" in d:
    print(d["a"])

修改

最简单的方法,通过 d[key] = value 方法修改,如果 key 不存在,则新建一个字典项:

d["a"] = "Atlanta"

update() 方法可使用一个字典来更新已有的字典,如果被更新的字典中己包含对应的 key,那么原 value 会被覆盖;如果被更新的字典中不包含对应的 key,则该 key-value 对被添加进去。例如如下代码:

d = dict(a="Athens", b="Belgrade", c="Cairo")

d.update({
    "a": "Atlanta",
    "b": "Belgrade",
    "d": "Dehli"
})

print(d)

运行代码,a 被替换,b 保持不变,c 被保留,d 被增加:

{'a': 'Atlanta', 'b': 'Belgrade', 'c': 'Cairo', 'd': 'Dehli'}

删除

  • clear() 方法删除所有字典项
  • del 删除字典项,如果 key 不存在,抛出 KeyError
  • pop() 删除对应键值,如果 key 不存在,也抛出 KeyError,可以对不存在键的情况设置默认值

示例:

del d["a"]
print(d.pop("d", "none")) # 返回 none而不是KeyError

setdefault() 方法

setdefault() 方法在 key 已经存在的时候返回对应的值,如果 key 不存在,则根据第二个参数 (default)增加 key-value pair,比如:

d.setdefault("a", "Atlanta") # 因为a已经存在,返回Athens
d.setdefault("d", "Dehli")   # 因为d不存在,将d设为Dehli
  • dict 用法和知识点总结 3.7 版本后,dict 能保存 key 的位置,3.7之前 key 是无序的,关心 key 的位置可以使用 SortedDict 数据结构
  • pop() / get() / setdefault() 三个方法可以设置 default 值,避免 KeyError
  • 字典的 key 不可重复

到此这篇关于老生常谈python字典用法的文章就介绍到这了,更多相关python字典用法内容请搜索北冥有鱼编程技术建站教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持北冥有鱼编程技术建站教程!

相关推荐:

python字典操作练习题的示例有哪些

小编给大家分享一下python字典操作练习题的示例有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、字典dic,dic={‘k1’:“v1”,“k2”:“v2”,“k3”:[11,22,33]}(1).请循环输出所有...

Python中字典的使用方法

这篇文章主要为大家详细介绍了Python中字典的使用方法,文中示例代码介绍的非常详细,零基础也能参考此文章,感兴趣的小伙伴们可以参考一下。    一、字典  键/值对之间用冒号隔开,项之间用逗号隔开,整个字典用大括号括起来。如:  phonebook={'宁波':'05...

Python如何创建和使用字典

Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 ...

Python入门之字典

                                                    Python入门之字典一、什么是字典1、字典的实现原理   字典的实现原理和差字典是类似的。当我们在字典中查找某个字时,一种办法是从字典的第一页开始往后翻,直到找到我们要查找的字为止。这种办法就是...

Python字典的介绍和使用

Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。字典是另一种可变容器模型,且可存储任意类型对象。一、什么是字典字典是python里的一种数据类型,特点是元素的无序性,和键key的唯一性。字典的创建方法是{key:values},字典里的键...

Python中如何给字典设置默认值

这篇文章主要介绍了Python中如何给字典设置默认值问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教 目录Python字典设置默认值初始化的时候设定默认值(defaultdict或dict.fromkeys)获取值之前的时候设定默认值(setdefault(key...

python字典如何获取最大和最小value对应的key

这篇文章主要介绍了python字典如何获取最大和最小value对应的key问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教 目录字典获取最大和最小value对应的key根据字典的key获取对应的value值进行判断字典获取最大和最小value对应的key my_d...

Python字典使用技巧详解

Python 中字典和集合也是非常相近的概念,而且从外观看上去,也有那么一丝丝的相似。本文将从字典基本知识入手,为你展开字典类型数据的各个知识点,需要的可以参考一下 目录1.引言2.使用union操作合并字典3.使用解包操作合并字典4.使用字典生成式5.字典中key-value互换6.列表...