Python 官方文档:入门教程 => 点击学习
目录创建字典遍历访问修改删除setdefault() 方法创建字典 python 创建字典可以使用 dict 函数,或者使用花括号,用花括号的方式更为常见。 d = {
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'}
示例:
del d["a"]
print(d.pop("d", "none")) # 返回 none而不是KeyError
setdefault() 方法在 key 已经存在的时候返回对应的值,如果 key 不存在,则根据第二个参数 (default)增加 key-value pair,比如:
d.setdefault("a", "Atlanta") # 因为a已经存在,返回Athens
d.setdefault("d", "Dehli") # 因为d不存在,将d设为Dehli
到此这篇关于老生常谈python字典用法的文章就介绍到这了,更多相关python字典用法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: 老生常谈python字典用法
本文链接: https://lsjlt.com/news/160829.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0