一、基本取值方法
Python中的字典(dict)是一种可变容器模型,用于存储任意数量的无序、可变和可重复的元素。字典中的每一个元素是一个键值对,由一个键和其对应的值组成。在Python中,我们可以使用字典的键来获取其对应的值。
dict = {'Name': 'John', 'Age': 25, 'Country': 'USA'} # 使用键取值 print("Name:", dict['Name']) print("Age:", dict['Age']) print("Country:", dict['Country'])
上述代码中,我们定义了一个字典,包含三个键值对。然后,我们使用键'Name'、'Age'和'Country'分别取出了对应的值。
在实际开发中,我们不确定某个键是否在字典中,为了避免程序崩溃,可以使用get方法获取键对应的值。如果键不存在,则返回指定的默认值(默认为None)。
dict = {'Name': 'John', 'Age': 25, 'Country': 'USA'} # 使用get方法取值 print("Name:", dict.get('Name')) print("Gender:", dict.get('Gender', 'Unknown'))
上述代码中,我们使用get方法获取'Name'键和'Gender'键对应的值。因为'Name'键存在,所以返回其对应的值;而'Gender'键不存在,所以返回指定的默认值'Unknown'。
二、多级字典取值
在Python中,字典中的值可以是一个更小的字典。如果要访问多级字典中的值,我们需要通过多次键取值。
dict = {'Name': 'John', 'Age': 25, 'Country': {'Province': 'California', 'City': 'Los Angeles'}} # 取多级字典中的值 print("City:", dict['Country']['City'])
上述代码中,我们定义了一个多级字典,其中'Country'键的值又是一个小字典。我们可以通过多次键取值,来获取'City'键对应的值。
三、遍历字典
在Python中,可以使用for循环遍历字典中所有的键值对。
dict = {'Name': 'John', 'Age': 25, 'Country': 'USA'} # 遍历字典 for key, value in dict.items(): print(key, ":", value)
上述代码中,我们使用items方法获取字典中所有的键值对。然后,使用for循环依次输出每一个键值对。
四、根据值查找键
在Python中,可以通过值查找其对应的键。但是需要注意的是,如果字典中有多个键对应同一个值,只能返回其中之一的键。
dict = {'Name': 'John', 'Age': 25, 'Country': 'USA'} # 根据值查找键 for key, value in dict.items(): if value == 'USA': print("Key:", key)
上述代码中,我们使用for循环遍历字典中所有的键值对,如果值为'USA',则输出对应的键。
五、使用字典推导式
字典推导式是创建字典的快捷方式,通常可以在一行代码中完成字典的创建。字典推导式的语法为{key:value for key, value in iterable}。
# 创建字典 dict1 = {'Name': 'John', 'Age': 25, 'Country': 'USA'} # 使用字典推导式获取子字典 dict2 = {k:v for k,v in dict1.items() if k != 'Country'} # 输出子字典 print(dict2)
上述代码中,我们首先定义一个字典,并且使用字典推导式去除了'Country'键对应的键值对。然后,我们输出新的子字典。