Python-字典
在本教程中,我们将学习Python词典。
我们在Python-数据类型教程中简要讨论了字典。
什么是字典?
字典是键值对的无序集合。
我们使用大括号" {}"来创建字典,并使用冒号":"将键与值分开。
字典的每一对均以逗号分隔。
在以下示例中,我们将创建用户数据字典。
# dictionary user = { "username": "theitroadtheitroad", "isOnline": False, "score": 9.1 } # output print("type:", type(user)) print(user)
我们将获得以下输出。
type: <class 'dict'> {'username': 'theitroadtheitroad', 'isOnline': False, 'score': 9.1}
dict()
构造函数
我们使用dict()构造函数在Python中创建字典。
# dictionary user = dict(username = "theitroadtheitroad", isOnline = False, score = 9.1) #output print(user)
{'username': 'theitroadtheitroad', 'isOnline': False, 'score': 9.1}
访问字典项
字典项是一个键值对,因此,为了获得值,我们使用键。
以下是获取字典给定键值的语法。
dictionary[key]
其中,"字典"表示字典变量,而"键"是一些键,我们正在尝试访问其值。
在下面的Python程序中,我们将打印保存在"用户"字典的"用户名"键中的值。
# dictionary user = { "username": "theitroadtheitroad", "isOnline": False, "score": 9.1 } # output print(user['username']) # theitroadtheitroad
如果字典中不存在该键,则我们将收到错误消息。
使用get
方法访问字典项
我们还可以使用get方法获取键的值。
在下面的Python程序中,我们将打印分数。
# dictionary user = { "username": "theitroadtheitroad", "isOnline": False, "score": 9.1 } # output print(user.get('score')) # 9.1
如果该键不存在,则get
将返回NoneType
类的None
。
在下面的Python程序中,我们尝试获取不存在的键的值。
# dictionary user = { "username": "theitroadtheitroad", "isOnline": False, "score": 9.1 } value = user.get('unknown') # output print("type:", type(value)) print("value:", value)
我们将获得以下输出。
type: <class 'NoneType'> value: None
更改字典项目的值
我们使用以下语法来更改字典项的值。
dictionary[key] = value
其中,"字典"代表字典变量,"键"是我们要更改其值的某个键,而"值"是我们要分配给该键的新值。
在下面的Python程序中,我们将istrue分配给isOnline键。
# dictionary user = { "username": "theitroadtheitroad", "isOnline": False, "score": 9.1 } # change user['isOnline'] = True # output print(user)
{'username': 'theitroadtheitroad', 'isOnline': True, 'score': 9.1}
打印字典的所有键
我们借助for循环来打印字典的所有键。
在下面的Python程序中,我们将输出用户词典的所有键。
# dictionary user = { "username": "theitroadtheitroad", "isOnline": False, "score": 9.1 } for k in user: print(k)
我们将获得以下输出。
username isOnline score
打印字典的键值对
要打印字典的键值对,我们需要使用for循环。
因此," for"循环可帮助我们获取字典的键。
然后使用键可以访问该值。
在下面的Python程序中,我们将打印键-值对。
# dictionary user = { "username": "theitroadtheitroad", "isOnline": False, "score": 9.1 } for k in user: print("key:", k, "value:", user[k])
key: username value: theitroadtheitroad key: isOnline value: False key: score value: 9.1
检查密钥是否存在
要检查给定词典中是否存在键,我们需要使用in-成员运算符。
如果密钥存在,则" in"运算符将返回" True"。
否则为False。
在下面的示例中,我们正在检查给定词典中某些项目的存在。
# dictionary user = { "username": "theitroadtheitroad", "isOnline": False, "score": 9.1 } # output print("username" in user) # True print("score" in user) # True print("unknown" in user) # False
计算字典项
我们使用len方法来计算给定字典中存在的项目总数(键值对)。
在下面的Python程序中,我们将打印项目总数。
# dictionary user = { "username": "theitroadtheitroad", "isOnline": False, "score": 9.1 } # output print(len(user)) # 3
将新项目添加到字典
我们使用以下语法将新项目添加到现有字典中。
dictionary[key] = value
其中,"字典"代表字典变量,"键"是我们要添加到字典中的新项目键,"值"是新项目的值。
在下面的Python程序中,我们将新项目添加到用户字典中。
# dictionary user = { "username": "theitroadtheitroad", "isOnline": False, "score": 9.1 } # new item user["level"] = 1 # output print(user)
我们将获得以下输出。
{'username': 'theitroadtheitroad', 'isOnline': False, 'score': 9.1, 'level': 1}
弹出词典项目
我们使用pop
方法从给定字典中弹出(删除)项目。
在下面的示例中,我们从用户词典中弹出"级别"项。
# dictionary user = { "username": "theitroadtheitroad", "isOnline": False, "score": 9.1, "level": 1 } # pop itemValue = user.pop('level') # output print(itemValue) # 1 print(user) # {'username': 'theitroadtheitroad', 'isOnline': False, 'score': 9.1}
注意! pop方法将从列表中删除该项目,并返回删除的值,我们可以将其保存在某个变量中。
删除字典项目
我们也可以使用del
关键字从字典中删除项目。
在下面的Python程序中,我们使用del
关键字从用户字典中删除"级别"。
# dictionary user = { "username": "theitroadtheitroad", "isOnline": False, "score": 9.1, "level": 1 } # delete del user['level'] # output print(user) # {'username': 'theitroadtheitroad', 'isOnline': False, 'score': 9.1}
删除字典
我们还可以使用del
关键字来完全删除字典和所有项目。
在以下Python程序中,我们将删除用户字典。
# dictionary user = { "username": "theitroadtheitroad", "isOnline": False, "score": 9.1, "level": 1 } # delete del user