Python学习笔记(五):字典dict

一、定义

字典由key和value组成,定义方式

{key1:value1, key2:value2,...}

二、操作及特性

1.常用的操作是通过key来访问value

print({'a':'姓名', 'b':'年龄', 'c':'性别', 'd':'成绩'}['c'])

运行结果:

性别

2.字典中的key是不能重复的

print({'a':'姓名', 'a':'年龄', 'c':'性别', 'd':'成绩'}['a'])

运行结果:

年龄

注:虽然以上代码运行没有报错,但是字典里的key是不可重复的

print({'a':'姓名', 'a':'年龄', 'c':'性别', 'd':'成绩'})

运行结果为

{'a': '年龄', 'c': '性别', 'd': '成绩'}

'a': '年龄'被覆盖

3.字典的key可以是数字

print({'1':'姓名', 1:'年龄', 'c':'性别', 'd':'成绩'})

{'1': '姓名', 1: '年龄', 'c': '性别', 'd': '成绩'}

注:字符串'1'与数字1,因为类型不同,所以不算重复的key

4.字典的value类型可以是任意类型,包括:str、int、float、list、set、dict等

print({'a':'姓名','b':1,'c':[1,2,3],'d':(4,5,6),'e':{1:'hi',2:'hello'}})

运行结果:

{'a': '姓名', 'b': 1, 'c': [1, 2, 3], 'd': (4, 5, 6), 'e': {1: 'hi', 2: 'hello'}}

5.字典的key必须是不可变类型

1)key是列表时

print({[1,2]:"你好",'a':2})

运行报错:

    print({[1,2]:"你好",'a':2})

TypeError: unhashable type: 'list'

报错原因:[1,2]是列表,列表是可变类型,所以报错

2)当key是一个元组时

print({(1,2):"你好",'a':2})
print({(1,2):"你好",'a':2}[(1,2)])

运行结果:

{(1, 2): '你好', 'a': 2}

你好

3)注:集合也是个可变类型,同样不能作为key来用

print({{'a':1}:'key是一个集合', (1,2):"key是一个元组"})

报错:

    print({{'a':1}:'key是一个集合', (1,2):"key是一个元组"})

TypeError: unhashable type: 'dict'

三、定义一个空的dict,使用{}

print(type({}))

运行结果:

<class 'dict'>

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页