一、什么是Dictionary
Dictionary(字典)是Python中的内置数据类型之一,它是一个可变的、无序的、以键值对(key-value)形式存储数据的集合。一个字典中包含多个键和对应的值,每个键和值之间用冒号“:”分隔,不同的键值对之间用逗号“,”分隔,整个字典用花括号“{}”括起来。字典中的键必须是唯一的,而值则可以是任意类型。
二、提取Dictionary中的值
在Python中,可以通过键来提取Dictionary中的值,即通过Dictionary[key]的形式来访问指定键的值。例如,我们定义了一个字典:
<code> dict1 = {'name': 'Tom', 'age': 20, 'gender': 'male'} print(dict1['name']) #输出:Tom </code>
在上面的代码中,我们定义了一个名为dict1的字典,其中包含三个键值对:name、age和gender。然后,我们通过dict1['name']的形式提取出键name对应的值,即Tom,并输出到屏幕上。
三、使用get()方法提取Dictionary中的值
除了可以使用Dictionary[key]的形式来提取Dictionary中的值外,还可以使用get()方法。get()方法的语法为:Dictionary.get(key, default),其中key表示要查找的键,default是可选参数,表示在找不到指定键时返回的默认值。如果没有指定default参数,而又找不到指定键时,则会返回None。
例如,我们可以使用get()方法来提取字典dict1中的值:
<code> dict1 = {'name': 'Tom', 'age': 20, 'gender': 'male'} print(dict1.get('name')) #输出:Tom print(dict1.get('address')) #输出:None print(dict1.get('address', 'N/A')) #输出:N/A </code>
在上面的代码中,我们定义了一个名为dict1的字典。然后,分别使用dict1.get('name')和dict1.get('address')的形式来提取键name和键address对应的值。由于键name存在于字典dict1中,因此第一个get()方法返回键name对应的值,即Tom。而由于键address不存在于字典dict1中,因此第二个get()方法返回None,即找不到键返回的默认值。最后一个get()方法指定了default参数,因此如果找不到指定键时,会返回指定的默认值N/A。
四、遍历Dictionary中的键值对
在Python中,可以使用for循环来遍历Dictionary中的键值对。在遍历过程中,可以使用items()方法来返回一个由所有键值对组成的元组列表,然后使用for循环逐个提取出键值对中的键和值。
<code> dict1 = {'name': 'Tom', 'age': 20, 'gender': 'male'} for key, value in dict1.items(): print(key, value) </code>
在上面的代码中,我们定义了一个名为dict1的字典,并使用for循环遍历其中的键值对,并分别提取出键和值,然后输出到屏幕上。
五、根据指定条件提取Dictionary中的键值对
在Python中,可以使用各种条件语句来对Dictionary中的键值对进行筛选,从而提取出符合条件的键值对。
例如,我们可以使用if语句对字典中的键值对进行筛选:
<code> dict1 = {'name': 'Tom', 'age': 20, 'gender': 'male'} for key, value in dict1.items(): if value == 'male': print(key, value) </code>
在上面的代码中,我们定义了一个名为dict1的字典,并使用for循环遍历其中的键值对,然后使用if语句判断值是否等于male,如果满足条件,则输出键和值到屏幕上。
总结
在Python中,Dictionary是一种非常实用的数据类型,可以通过键值对的形式存储数据。我们可以使用Dictionary[key]和get()方法提取键对应的值,使用for循环遍历Dictionary中的键值对,以及使用各种条件语句对键值对进行筛选,从而提取出符合要求的数据。
<code> # 示例代码 # 定义一个字典 dict1 = {'name': 'Tom', 'age': 20, 'gender': 'male'} # 通过key提取值 print(dict1['name']) #输出:Tom # 使用get()方法提取值 print(dict1.get('name')) #输出:Tom print(dict1.get('address')) #输出:None print(dict1.get('address', 'N/A')) #输出:N/A # 遍历Dictionary中的键值对 for key, value in dict1.items(): print(key, value) # 根据条件筛选键值对 for key, value in dict1.items(): if value == 'male': print(key, value) </code>