目录
1.概述
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中
d = {key1 : value1, key2 : value2, key3 : value3 }
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字。
2.特征
1)字典是序列类型,但是是无序序列,无索引和切片
2)数据为K-V对,k值必须可哈希
3)字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。、
- 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:
tinydict = {'Name': 'Runoob', 'Age': 7, 'Name': '小菜鸟'}
print ("tinydict['Name']: ", tinydict['Name'])
#输出
tinydict['Name']: 小菜鸟
- 键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行,如下实例:
tinydict = {['Name']: 'Runoob', 'Age': 7}
print ("tinydict['Name']: ", tinydict['Name'])
#输出
Traceback (most recent call last):
File "test.py", line 3, in <module>
tinydict = {['Name']: 'Runoob', 'Age': 7}
TypeError: unhashable type: 'list'
3.基本操作
1)创建
#创建空字典
d1={}
d2=dict()
#创建非空字典
d3={"one":1,"two":2}
#利用关键字参数创建
d4={one:1,two:2}
#利用元组创建
d5={[("one",1),("two",2)]}
2)访问:
d3={"one":1,"two":2}
print(d3["one"])
d3["one"]="new"
print(d3)、
#输出
1
{'one': 'new', 'two': 2}
3)删除
d3={"one":1,"two":2}
del d3["one"]
print(d3)
#输出
{'two': 2}
4)遍历
d3={"one":1,"two":2}
#key值访问
for k in d3:
print(k,d3[k])
for k2 in d3.keys():
print(k2,d3[k2])
#只访问value值
for v in d3.values():
print(v)
#特殊用法
for k3,v3 in d3.items():
print(k3,'--',v3)
#输出
one 1
two 2
one 1
two 2
1
2
one -- 1
two -- 2
4.内置函数与方法