Python 字典(Dictionary)操作详解

  • Post category:Python

Python字典(Dictionary)操作详解

什么是字典?

在 Python 中,字典(dictionary)是一种可修改、可变的数据类型,用于以键-值对(key-value pair)的形式存储数据。字典是一个无序的键集合与相应的值集合之间的映射,其中每个键都是独一无二的。

Python 字典的语法如下:

dict = {'name': 'Tom', 'age': 22, 'location': 'Shanghai'}

在上面的例子中,’name’,’age’和’location’都是字典dict的键, ‘Tom’,22和’Shanghai’则是对应的值。键和值之间用冒号’:’来分隔,键-值对之间用逗号’,’来分隔,所有键必须是唯一的,而值则不必。一个字典可以有不同种类的键和值。

字典常见操作

访问字典中的值

访问字典中的值,只需要把对应的键放入方括号([])中即可。如果访问的键不在字典中,则会报出错误。

dict = {'name': 'Tom', 'age': 22, 'location': 'Shanghai'}
print(dict['name'])   # 输出 'Tom'
print(dict['location'])    # 输出 'Shanghai'

修改字典中的值

可以直接对字典中的键值进行修改。

dict = {'name': 'Tom', 'age': 22, 'location': 'Shanghai'}
dict['age'] = 23
print(dict)   # 输出 {'name': 'Tom', 'age': 23, 'location': 'Shanghai'}

删除字典中的键值对

删除字典中的某个键值对,使用del语句。

dict = {'name': 'Tom', 'age': 22, 'location': 'Shanghai'}
del dict['location']
print(dict)   # 输出 {'name': 'Tom', 'age': 22}

字典内置方法

  • len(dict) 返回字典元素个数。
  • str(dict) 将字典变成字符串。
  • dict.clear() 清空字典。
  • dict.copy() 返回字典的浅拷贝。
  • dict.fromkeys(seq[, v]) 返回一个新字典,以seq中的元素为键,v为字典所有键对应的初始值。
  • dict.get(key, default=None) 返回指定键的值,如果键不存在,则返回默认值None。
  • dict.items() 返回可遍历的键值对元组。
  • dict.keys() 返回字典的所有键。
  • dict.setdefault(key, default=None) 和get()方法类似,如果键不存在于字典中,将会添加键并将值设为默认值。
  • dict.update(dict2) 将字典dict2的键值对更新到dict中。
  • dict.values() 返回字典中所有的值。

示例1:使用fromkeys方法创建字典

seq = ['name', 'age', 'location']
dict = dict.fromkeys(seq)
print("New Dictionary: %s" %str(dict))    # 输出 New Dictionary: {'name': None, 'age': None, 'location': None}
dict = dict.fromkeys(seq, 10)
print("New Dictionary: %s" %str(dict))    # 输出 New Dictionary: {'name': 10, 'age': 10, 'location': 10}

示例2:使用get方法获取字典中的值

dict = {'name': 'Tom', 'age': 22, 'location': 'Shanghai'}
print(dict.get('name'))   # 输出 'Tom'
print(dict.get('height', 175))    # 输出 175

上面这个示例使用get()方法来获取name和height两个键的值。由于字典中的height这个键并不存在,所以get()方法会返回defaultValue(即175)。

以上这些只是Python字典操作的一些基本用法,还有更多的用法等待你去发掘。