python字典
概念
字典是另一种可变容器模型,可以存储任意类型的对象。
字典的键值对用冒号
:
分隔,每个对之间用逗号,
分隔,字典用{}
包裹。其中,键是唯一的,切必须为不可变类型,如字符串,数字,值不唯一,可以为任意类型
dict = {key1:value1,key2:value2}
获取
通过key值获取它对应的value值
dict['age'] # 7
如果用字典中不存在的key来获取value,会报错
字典修改
dict['age'] = 8 # 修改
dict['name'] = 'zs' # 添加键值对
在不存在key的情况下对key对应的value值进行修改,则该键值对会被添加到字典里
删除字典元素
清空字典
dict.clear()
删除字典
del dict
删除键
del dict['name']
字典的特性
- 同一个键不允许出现两次,如果在创建时使用同一个键两次,则后一次的赋值会将前一个值覆盖
- 键必须是不可变的,需要用数字,字符串,甚至是元组
字典的内置函数
函数 | 描述 |
---|---|
len(dict) | 计算字典元素的个数,即键的总数 |
str(dict) | 输出字典,通过转为字符串来表示 |
type(variable) | 返回输入的变量类型,如果变量是字典就返回字典类型 |
dict = { 'name':'zs','age':17 }
str(dict) # " {'name':'zs','age':17} "
字典的内置方法
方法 | 描述 |
---|---|
dict.clear() | 删除字典的所有元素 |
dict.copy() | 返回字典的浅复制 |
dict.fromkeys() | 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 |
dict.get(key,default=None) | 返回指定键的值,如果键不在字典中,则返回default默认值 |
key in dict | 如果键在字典dict中,返回True,否则返回False |
dict.items() | 以列表返回可遍历的(键值)元组数组 |
dict.keys() | 返回一个迭代器,可以使用 list() 来转换为列表,内容为字典中所有键的列表 |
dict.values() | 返回一个迭代器,可以使用 list() 来转为列表,内容为字典中所有值的列表 |
dict.update(dict2) | 将 dict2 的键值更新到 dict |
pop(key) | 删除字典中给定键 key 所返回的值,并返回该值。 |
dict.fromkeys(seq[,value])
# seq 字典键值列表
# value 可选参数,设置键序列(seq)对应的值,默认为none
# 返回一个新字典
seq = ('name', 'age', 'sex')
dict = dict.fromkeys(seq)
print ("新的字典为 : %s" % str(dict)) # {'age': None, 'name': None, 'sex': None}
dict = dict.fromkeys(seq, 10)
print ("新的字典为 : %s" % str(dict)) # {'age': 10, 'name': 10, 'sex': 10}
字典整体的概念可以类比为 java 中的 map 集合