字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示
d = {key1:value1, key2:value2}
字典的特性:
- 字典的key必须为不可变数据类型,例如数值类型、字符串、元组类型
- 字典的key不可以重复,若定义重复则后面的键值会覆盖前面的,值是可以重复的;
- 字典是无序的,所以无法通过数值索引来访问,必须通过key来访问
举例:
x = {'tom':99, 'tany':66, 1 : 2, ('imgs/zzz/1.jpg', 'imgs/zzz/2.jpg') : 69.3, 'skills':['english', 'programing', 'play football'], 'tom':60}
print(x, type(x))
2. 字典的定义
字典的定义可以通过dict函数和花括号{}来定义。
2.1 dict函数首先看一下dict()函数的描述:
dict?
从输出的描述信息中可知,dict可支持多个参数:
- 可为空,为空时则创建一个空字典
x = dict()
print(x, type(x))
{}
- 不为空,且参数为1个参数,且参数为映射对象key-value键值对
x = dict({'one':1, 'two':2})
x
{‘one’: 1, ‘two’: 2}
- 不为空,参数为多个key-value键值对
x = dict(one=1, two=2, three=3) # 注意:one,two,three输入的参数不是字符串,创建后变为字符串
x
2.2 花括号{}{‘one’: 1, ‘two’: 2, ‘three’: 3}
- 空字典
x = {}
print(x, type(x))
{}
- 有数据的字典
x = {'tom':99, 'tany':66}
print(x, type(x))
2.3 字典的特性
- 字典的key必须为不可变数据类型,例如数值类型、字符串、元组类型
x2 = {'tom':99, 1.2:3.4, 7+8j : 1+2j, (1,2):(3, 4)} # key分别为字符串、浮点数值类型、复数数值类型、元组,他们都是不可变数据类型
print(x2, type(x2))
{‘tom’: 99, 1.2: 3.4, (7+8j): (1+2j), (1, 2): (3, 4)}
异常的数据定义
x3 = {[12, 3, 4]: [1, 4, 8], {1, 3, 4} : {23}} # 分别为列表key、字典key,它们都是可变数据类型,因此不能作为key
- 字典的key不可以重复,若重复,则后值会覆盖前值;值可重复
x4 = {'name':'chairs', 'score':68, 'score' : 89}
print(x4, type(x4))
3. 字典的常用用法
用dir函数查询字典变量支持的属性和方法
x = {'tom':99, 'tany':66}
dir(x)
[‘class’,
‘contains’,
‘delattr’,
‘delitem’,
‘dir’,
‘doc’,
‘eq’,
‘format’,
‘ge’,
‘getattribute’,
‘getitem’,
‘gt’,
‘hash’,
‘init’,
‘init_subclass’,
‘iter’,
‘le’,
‘len’,
‘lt’,
‘ne’,
‘new’,
‘reduce’,
‘reduce_ex’,
‘repr’,
‘setattr’,
‘setitem’,
‘sizeof’,
‘str’,
‘subclasshook’,
‘clear’,
‘copy’,
‘fromkeys’,
‘get’,
‘items’,
‘keys’,
‘pop’,
‘popitem’,
‘setdefault’,
‘update’,
‘values’]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)