Python 字典
字典是一种无序的、可修改的、可索引的容器。
字典使用花括号声明,具有键和值。
mydic = {
'name':'孙悟空',
'origin':'猴子'
}
print(mydic)
结果:
{'name': '孙悟空', 'origin': '猴子'}
访问字典
mydic = {
'name':'孙悟空',
'origin':'猴子'
}
print(mydic['name'])
结果:
孙悟空
修改元素
mydic = {
'name':'孙悟空',
'origin':'猴子'
}
print('修改前的名字:', mydic['name'])
mydic['name'] = '猪八戒' # 修改 name 的值为猪八戒
print('修改后的名字:', mydic['name'])
结果:
修改前的名字: 孙悟空
修改后的名字: 猪八戒
添加元素
mydic = {
'name':'孙悟空',
'origin':'猴子'
}
print('修改前的字典:', mydic)
mydic['age'] = 9000 # 添加 age 键值
print('修改后的字典:', mydic)
结果:
修改前的字典: {'name': '孙悟空', 'origin': '猴子'}
修改后的字典: {'name': '孙悟空', 'origin': '猴子', 'age': 9000}
移除元素
可以删除一个元素,也可以清空字典,或者删除字典:
mydic = {
'name':'孙悟空',
'origin':'猴子'
}
del mydic['name'] # 删除键值 name
# 或者使用 mydic.pop('name') 来删除
mydic.clear() # 清空字典
del mydic # 删除字典
字典长度
mydic = {
'name':'孙悟空',
'origin':'猴子'
}
print(len(mydic)) # 打印长度 2
复制字典
使用 copy
来复制字典:
mydic = {
'name':'孙悟空',
'origin':'猴子'
}
mydic2 = mydic.copy() # 复制 mydic 到 mydic2
字典构造器
可以使用 dic()
来创建字典
mydic = dic(name='孙悟空', origin='猴子')
# 注意,关键字不是字符串,不需要加引号
# 使用等于号赋值而不是冒号
print(mydic)
字典键的特点
- 同样的键只能出现一次,如果出现重复键,最后出现的键才有效
- 键必须是不可变的,因此可以使用数字、字符串、或者元组充当键,但是列表不行
字典方法
方法 | 说明 |
---|---|
clear() | 删除字典内所有元素 |
len(字典) | 返回字典长度 |
str(字典) | 以字符串格式返回字典 |
type(变量) | 返回变量类型 |
copy() | 返回字典的浅复制 |
fromkeys(键值序列[,default=None]) | 创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值 |
get(键[,default=None]) | 返回指定键的值,如果值不在字典中返回默认值 |
键 in 字典 | 用于判断键是否存在于字典中,如果键在字典里返回 true,否则返回 false |
items() | 以列表返回可遍历的(键, 值) 元组数组 |
keys() | 返回一个可迭代对象,可以使用 list() 来转换为列表 |
setdefault(键[,default=None]) | 和 get()方法 类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值 |
update(字典2) | 把 字典2 的 key/value(键/值) 对更新到字典里 |
pop(键[,default]) | 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值 |
values() | 返回一个迭代器,可以使用 list() 来转换为列表 |
popitem() | 随机返回并删除字典中的一对键和值(一般删除末尾对) |