Python 字典(Dictionary)
版权所有,未经许可,禁止转载
章节
- Python 介绍
- Python 开发环境搭建
- Python 语法
- Python 变量
- Python 数值类型
- Python 类型转换
- Python 字符串(String)
- Python 运算符
- Python 列表(list)
- Python 元组(Tuple)
- Python 集合(Set)
- Python 字典(Dictionary)
- Python If … Else
- Python While 循环
- Python For 循环
- Python 函数
- Python Lambda
- Python 类与对象
- Python 继承
- Python 迭代器(Iterator)
- Python 模块
- Python 日期(Datetime)
- Python JSON
- Python 正则表达式(RegEx)
- Python PIP包管理器
- Python 异常处理(Try…Except)
- Python 打开文件(File Open)
- Python 读文件
- Python 写文件
- Python 删除文件与文件夹
字典
字典是无序、可修改的键值对集合。在Python中,字典用大括号包裹。
示例
创建并打印一个字典:
thisdict = {
"province": "浙江",
"city": "杭州",
"street": "祥符街道"
}
print(thisdict)
访问项目
你可以通过键查询字典:
示例
获取“city”键的值:
x = thisdict["city"]
还有一个方法叫get()
,效果相同:
示例
获取“city”键值:
x = thisdict.get("city")
更改值
您可以通过键来更改其值:
示例
将“street”改为"西溪街道":
thisdict = {
"province": "浙江",
"city": "杭州",
"street": "祥符街道"
}
thisdict["street"] = "西溪街道"
遍历字典
您可以使用for
循环遍历字典。
遍历字典时,返回值是字典的键,但也可以返回值。
示例
逐个打印字典中的所有键名:
for x in thisdict:
print(x)
示例
逐个打印字典中的所有值:
for x in thisdict:
print(thisdict[x])
示例
你也可以使用values()
函数来返回字典的值:
for x in thisdict.values():
print(x)
示例
通过使用items()
函数,同时遍历键和值:
for x, y in thisdict.items():
print(x, y)
检查键是否存在
若要确定字典中是否存在指定的键,使用in
关键字:
示例
检查字典中是否有“city”:
thisdict = {
"province": "浙江",
"city": "杭州",
"street": "祥符街道"
}
if "city" in thisdict:
print("字典中存在'city'这个键")
字典的长度
要确定一个字典有多少项(键值对),使用len()
方法。
示例
打印字典中的条目数:
print(len(thisdict))
添加项目
给字典添加一个项目,是通过给新键赋值:
示例
thisdict = {
"province": "浙江",
"city": "杭州",
"street": "祥符街道"
}
thisdict["borough"] = "拱墅"
print(thisdict)
删除项目
有几种方法可以从字典中删除条目:
示例
pop()
方法删除指定键名的项:
thisdict = {
"province": "浙江",
"city": "杭州",
"street": "祥符街道"
}
thisdict.pop("city")
print(thisdict)
示例
popitem()
方法删除最后插入的项(在3.7之前的版本中,删除的是随机项):
thisdict = {
"province": "浙江",
"city": "杭州",
"street": "祥符街道"
}
thisdict.popitem()
print(thisdict)
示例
del
关键字删除指定键名的项:
thisdict = {
"province": "浙江",
"city": "杭州",
"street": "祥符街道"
}
del thisdict["model"]
print(thisdict)
示例
del
关键字也可以整个删除字典,包括字典自身:
thisdict = {
"province": "浙江",
"city": "杭州",
"street": "祥符街道"
}
del thisdict
print(thisdict) # 此处会报错,因为字典已被删除
示例
clear()
方法清空字典:
thisdict = {
"province": "浙江",
"city": "杭州",
"street": "祥符街道"
}
thisdict.clear()
print(thisdict)
复制一个字典
您不能简单地通过dict2 = dict1
来复制字典,dict2
只是引用dict1
,在dict1
中所做的更改将自动体现在dict2
中。
复制有多种方法,其中一种方法是使用字典的内置方法copy()
。
示例
使用copy()方法复制字典:
thisdict = {
"province": "浙江",
"city": "杭州",
"street": "祥符街道"
}
mydict = thisdict.copy()
print(mydict)
复制的另一种方法是使用内置的方法dict()
。
示例
使用dict()
方法复制字典:
thisdict = {
"province": "浙江",
"city": "杭州",
"street": "祥符街道"
}
mydict = dict(thisdict)
print(mydict)
dict() 构造方法
也可以使用dict()
构造函数创建一个新字典:
示例
thisdict = dict(province="浙江", city="杭州", street="祥符街道")
# 注意键不是字符串,没有引号
# 注意在赋值时使用等号而不是冒号
print(thisdict)
字典的方法
Python有一组可以在字典上使用的内置方法。
方法 | 描述 |
---|---|
clear() | 从字典中删除所有元素 |
copy() | 返回字典的副本 |
fromkeys() | 返回具有指定键和值的字典 |
get() | 返回指定键的值 |
items() | 返回包含每个键值对的元组的列表 |
keys() | 返回包含字典键的列表 |
pop() | 删除具有指定键的元素 |
popitem() | 删除最后插入的键值对 |
setdefault() | 返回指定键的值。如果键不存在:插入具有指定值的键 |
update() | 使用指定的键值对更新字典 |
values() | 返回字典中所有值的列表 |