Python3 字典
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
dict1 = {key1:value1,key2:value2....}
其中的键必须是唯一的,但是值可能不唯一
一个简单的字典实例:
dict1 = {'name':'ext','age':18,'address':'shanghaishi'}
怎样生成一个字典
dict1 = dict((('a','ddd'),('n','222')))
>>> dict1
{'a': 'ddd', 'n': '222'}dict2 = dict(a='ddd',c='mmm')
>>> dict2
{'a': 'ddd', 'c': 'mmm'}
访问字典的值
print(dict1['name'])
print(dict['age'])
以上访问输出值为:
ext
18
如果通过不存在的键访问,会出现以下报错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'xxxxx'
修改字典
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:
dict2 = {‘name’:'xumen','age':22,'school':'high_school'}
dict2['name'] = 'hhh'
dict2的值变为{‘name’:'hhh','age':22,'school':'high_school'}
删除字典元素
删除可以是删除字典中的某一项,也可以是清空整个字典,甚至是删除字典
1、删除字典中的某一项
dict1 = {‘name’:'xxxx','age':17}
del dict1['name'] #删除了dict1中的key为‘name’的项
print(dict1) ---->>结果输出{'age':17}
2、清空整个字典用clear()方法
dict1.clear()
print(dict1) ------>>结果输出{}
3、删除字典定义
del dict1
print(dict1)
结果输出
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'dict1' is not defined
字典内置函数&方法
Python字典包含了以下内置函数:
序号 | 函数及描述 | 实例 |
---|---|---|
1 | len(dict) 计算字典元素个数,即键的总数。 | |
2 | str(dict) 输出字典,以可打印的字符串表示。 | |
3 | type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。 | |
Python字典包含了以下内置方法:
序号 | 函数及描述 |
---|---|
1 | radiansdict.clear() 删除字典内所有元素 |
2 | radiansdict.copy() 返回一个字典的浅复制 |
3 | radiansdict.fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 |
4 | radiansdict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值 |
5 | key in dict 如果键在字典dict里返回true,否则返回false |
6 | radiansdict.items() 以列表返回可遍历的(键, 值) 元组数组 |
7 | radiansdict.keys() 返回一个迭代器,可以使用 list() 来转换为列表 |
8 | radiansdict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
9 | radiansdict.update(dict2) 把字典dict2的键/值对更新到dict里 |
10 | radiansdict.values() 返回一个迭代器,可以使用 list() 来转换为列表 |
11 | pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 |
12 | popitem() 随机返回并删除字典中的一对键和值(一般删除末尾对)。 |