python字典成绩_Python 字典

字典:dict,全称是dictionary,它具有极快的查找速度;字典是一种key-value的数据类型,是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在大括号({})中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

如果不为 dict() 函数传入任何参数,则代表创建一个空的字典。例如如下代码:

d1 = {} #创建空字典

d2 = dict() #创建空字典

比如有份成绩表数据,语文:79,数学:80,英语:92,这组数据看上去像两个列表,但这两个列表的元素之间有一定的关联关系。如果单纯使用两个列表来保存这组数据,则无法记录两组数据之间的关联关系。

为了保存具有映射关系的数据,Python 提供了字典,字典相当于保存了两组数据,其中一组数据是关键数据,被称为 key;另一组数据可通过 key 来访问,被称为 value。

字典的特性:

字典是无序的,因为它没有下标,用key来当索引,所以是无序的。

字典的key必须是唯一的,因为它是通过key来进行索引的,所以key不能重复,天生就去重。

dict = {

'username': 'brf',

'password': '123456',

'money': 20,

'addr': '北京'

}

程序既可使用花括号语法来创建字典,也可使用 dict() 函数来创建字典。实际上,dict 是一种类型,它就是 Python 中的字典类型。

在使用花括号语法创建字典时,花括号中应包含多个 key-value 对,key 与 value 之间用英文冒号隔开;多个 key-value 对之间用英文逗号隔开。

字典的基本用法

对于初学者而言,应牢记字典包含多个 key-value 对,而 key 是字典的关键数据,因此程序对字典的操作都是基于 key 的。基本操作如下:

通过 key 访问 value 。

通过 key 添加 key-value 对。

通过 key 删除 key-value 对。

通过 key 修改 key-value 对。

通过 key 判断指定 key-value 对是否存在。

通过 key 访问 value 使用的也是方括号语法,就像前面介绍的列表和元组一样,只是此时在方括号中放的是 key,而不是列表或元组中的索引。

(1)增:

stu_info = {

'username':'brf',

'password':'123456',

'money':20,

'addr':'北京'

}

stu_info['sex'] = 'man'

stu_info['name'] = '大白'

stu_info['age'] = 18

stu_info.setdefault('class','双子座')

print('之前的',stu_info)

stu_info.setdefault('age',38)

#如果使用setdefault,key已经存在了,就不会修改原来key的值

stu_info['name']='大白2'

print('之后的',stu_info)

之前的 {'money': 20, 'sex': 'man', 'class': '双子座', 'addr': '北京', 'age': 18, 'username': 'brf', 'name': '大白', 'password': '123456'}

之后的 {'money': 20, 'sex': 'man', 'class': '双子座', 'addr': '北京', 'age': 18, 'username': 'brf', 'name': '大白2', 'password': '123456'}

(2)修改:

stu_info = {

'username':'brf',

'password':'123456',

'money':20,

'addr':'北京'

}

stu_info['addr'] = '河北'

print('修改后:',stu_info)

修改后: {'money': 20, 'addr': '河北', 'username': 'brf', 'password': '123456'}

(3)取值:

stu_info = {

'username':'brf',

'password':'123456',

'money':20,

'addr':'北京'

}

print('money:',stu_info['money'])

print('addr:',stu_info['addr'])

money: 20

addr: 北京

stu_info = {

'username':'brf',

'password':'123456',

'money':20,

'addr':'北京'

}

print('所有的key:',stu_info.keys()) # .keys()取到字典里面所有的key

print('所有的value:',stu_info.values()) # .values()取到字典里面所有的value

所有的key: dict_keys(['password', 'addr', 'username', 'money'])

所有的value: dict_values(['123456', '北京', 'brf', 20])

stu_info = {

'username':'brf',

'password':'123456',

'money':20,

'addr':'北京'

}

print( '普通方法',stu_info['name2'] ) #取不存在的会报错

print('get方法',stu_info.get('name:','0')) #取不存在不会报错,会打印出指定那个

(4)删除:

stu_info = {

'username':'brf',

'password':'123456',

'money':20,

'addr':'北京'

}

stu_info.pop('username')#删除指定元素

del stu_info['money']#删除指定元素

stu_info.popitem()#随机删除一个元素

stu_info.clear() #清空

(5)取值添加:

d1 = {}

d2 = {'abc':1234}

d1.update(d2) #更新字典值,如果key存在的话,就更新,不存在的话就添加

print('update方法:',d1)

d.keys() #取到所有的key

d.values #取到所有的value

d.items() #取到key和value

update方法: {'abc': 1234}

(6)字典转换成一个list

d1 = {'abc':1234}

print(d1.items())

dict_items([('abc', 1234)])

(7)循环字典:

dic = {'stu1': 'dabai', 'stu2': 'haha', 'stu3': 'win'}

for k in dic:

print(k, dic[k]) # 打印key和value的值,推荐使用这种方式,速度快

for k, v in dic.items():

print(k, v) # 打印key和value的值,这种方式不推荐,因为会把字典转换成列表,效率不高

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值