字典是Python中重要的数据类型,字典是由"键-值"对组成的集合,"键-值"对之间用逗号隔开,包含在一对花括号中。字典中的"值"通过"键"来引用。
创建字典
创建字典的格式如下:
dictionary = {key1:value1, key2:value2, ...}
创建实例如下:
dict = {} #空字典 dict1 = {‘Lesson1‘: ‘Python‘, ‘Lesson2‘: ‘Java‘, ‘Lesson3‘: ‘Shell‘)} #多元素字典 dict2 = {‘lesson1‘: ‘Python‘, lesson2‘: ‘Java‘, ‘lesson3‘: ‘Shell‘)} #注意和dict1不同(lesson首字母小写),原因是字典中的键是区分大小写的
说明:字典的键是区分大小写的。
获取字典的值
访问字典中的元素有2种方法。第1种是通过key值获取相应的value值,第二种是通过字典函数get()来获取。
(1)通过key值获取相应的value值。语法格式为:value = dict[key]。具体实例如下:
>>> dict1 = {‘Lesson1‘: ‘Python‘} >>> dict1[‘Lesson1‘] ‘Python‘ >>> dict1[‘Lesson2‘] #不存在对应的键值,返回KeyError报错 Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: ‘Lesson2‘
(2)通过get()函数获取value值,get()函数使用格式如下:
dict.get(key[,default_value])
说明:参数key表示字典的键值,参数default_value可以作为get()的返回值,默认值为None。如果指定default_value参数值,表示如果参数key键值在字典key列表中,则返回对应的value值,如果不在,则返回预先设定的default_value的值。具体实例如下所示:
>>> dict1 = {‘Lesson1‘: ‘Python‘} >>> dict1.get(‘Lesson1‘) ‘Python‘ >>> dict1.get(‘Lesson2‘) >>> dict1.get(‘Lesson2‘,‘Perl‘) ‘Perl‘
添加字典元素
方法一:直接添加方法,使用格式如下:
dict[key] = value
如果键值key不在字典dict的key列表中,字典dict添加(key:value)的记录。如果已经在key列表中,则修改键值key对应的value值。
dict[‘Lesson3‘] = ‘Perl‘
举个例子,假设字典dict中不存在键名为Lesson3的字符串,则直接添加。如果已存在,则刷新值为Perl字符串。实例如下:
>>> dict1 = {‘Lesson1‘: ‘Python‘} >>> dict1[‘Lesson3‘] = ‘Perl‘ >>> dict1 {‘Lesson3‘: ‘Perl‘, ‘Lesson1‘: ‘Python‘} >>> dict1 = {‘Lesson3‘: ‘Python‘} >>> dict1[‘Lesson3‘] = ‘Perl‘ >>> dict1 {‘Lesson3‘: ‘Perl‘}
方法二:通过调用setdefault()函数方法实现。格式如下:
dict.setdefault(key[,default_value])
如果索引key在字典key列表中,则返回对应的value值,如果不在key列表中,则添加新索引key和value在字典中,并反馈default_value值,默认值 为None。使用实例如下:
>>> dict1 = {‘Lesson1‘: ‘Python‘} >>> dict1.setdefault(‘Lesson1‘) ‘Python‘ >>> dict1.setdefault(‘Lesson2‘) >>> dict1 {‘Lesson2‘: None, ‘Lesson1‘: ‘Python‘} >>> dict1.setdefault(‘Lesson3‘,‘Shell‘) ‘Shell‘ >>> dict1 {‘Lesson3‘: ‘Shell‘, ‘Lesson2‘: None, ‘Lesson1‘: ‘Python‘}
获取字典所有keys、Values或者key-valu键值对
(1)获取字典的所有"键"-"值"元素。通过调用字典的items()方法实现,返回的是(key,value)元组组成的列表。实例如下:
>>> dict1 = {‘Lesson1‘: ‘Python‘, ‘Lesson2‘: ‘Java‘, ‘Lesson3‘: ‘Shell‘} >>> dict1.items() [(‘Lesson3‘, ‘Shell‘), (‘Lesson2‘, ‘Java‘), (‘Lesson1‘, ‘Python‘)]
(2)获取字典的中key组成的列表。通过调用字典的keys()方法实现。实例如下:
>>> dict1 = {‘Lesson1‘: ‘Python‘, ‘Lesson2‘: ‘Java‘, ‘Lesson3‘: ‘Shell‘} >>> dict1.keys() [‘Lesson3‘, ‘Lesson2‘, ‘Lesson1‘]
(3)获取字典的中value组成的列表。通过调用字典的values()方法实现。实例如下:
>>> dict1 = {‘Lesson1‘: ‘Python‘, ‘Lesson2‘: ‘Java‘, ‘Lesson3‘: ‘Shell‘} >>> dict1.values() [‘Shell‘, ‘Java‘, ‘Python‘]
判断指定key是否存在字典
判断字典中是否存在键值为k的元素。通过调用字典has_key()方法实现。实例如下:
>>> dict1 = {‘Lesson1‘: ‘Python‘, ‘Lesson2‘: ‘Java‘, ‘Lesson3‘: ‘Shell‘} >>> dict1.has_key(‘Lesson1‘) True >>> dict1.has_key(‘Lesson4‘) False
删除字典元素。
方法一:通过调用内置函数del实现。实例如下:
>>> dict1 = {‘Lesson1‘: ‘Python‘, ‘Lesson2‘: ‘Java‘, ‘Lesson3‘: ‘Shell‘} >>> del dict1[‘Lesson1‘] >>> dict1 {‘Lesson3‘: ‘Shell‘, ‘Lesson2‘: ‘Java‘}
方法二:通过调用字典的pop()函数实现。pop()函数格式如下:
dict.pop(key[,default_value])
pop()函数必须指定参数索引key才能删除对应的值。如果索引key在字典key列表中,则返回索引key对应的value值。如果不存在,则返回预先设置的default_value值,如果未设置,会爬出KeyError异常信息。实例如下:
>>> dict1 = {‘Lesson1‘: ‘Python‘, ‘Lesson2‘: ‘Java‘, ‘Lesson3‘: ‘Shell‘} >>> dict1.pop(‘Lesson3‘) ‘Shell‘ >>> dict1 {‘Lesson2‘: ‘Java‘, ‘Lesson1‘: ‘Python‘} >>> dict1.pop(‘Lesson3‘,‘Perl‘) ‘Perl‘
方法三:调用字典的clear()函数,清除字典的所有内容。实例如下:
>>> dict1 = {‘Lesson1‘: ‘Python‘, ‘Lesson2‘: ‘Java‘, ‘Lesson3‘: ‘Shell‘} >>> dict1.clear() >>> dict1 {}
字典排序
字典的排序可以通过使用sorted()函数实现,实例如下:
>>> dict = {‘2‘:"Python",‘1‘:"Java",‘3‘:"C++"} >>> sorted(dict.items(),key=lambda d:d[0]) [(‘1‘, ‘Java‘), (‘2‘, ‘Python‘), (‘3‘, ‘C++‘)] >>> sorted(dict.items(),key=lambda d:d[1]) [(‘3‘, ‘C++‘), (‘1‘, ‘Java‘), (‘2‘, ‘Python‘)]
原文地址:https://www.cnblogs.com/linyfeng/p/11736022.html