PYTHON学习之字典

一、字典是什么?

字典是另一种可变容器模型,且可存储任意类型对象。字典内容包括键和值,也就是键值对。整个字典在{}内,即:
d = {key1 : value1, key2 : value2, key3 : value3 }

二、创建字典

代码如下(示例):

dict={'key1':'value1','key2':'value2'}#这是创建有内容字典
dict={}#这是创建一个空字典

三、字典使用

1.访问字典里的内容

代码如下(示例):

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])

使用的是 字典名[键名]的方法访问。如果访问的是一个不存在的键就会报错!

2.字典的增改

dict = {'Name': 'QQ', 'Age': 7, 'Class': 'First'}
 
dict['Age'] = 8               # 更新 Age
dict['School'] = "XUTP"  # 添加信息 
print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])
dict['Age']:  8
dict['School']:  XUTP

由此不难看出,字典的增和改都是通过 字典名[键值] 的形式对字典进行访问,如果键原本存在则修改原来的值,如果键不存在就把现在的键和值添加到字典中。

删除字典内容

删除字典内容有一下几种方法:
1.del:删除整个字典,包括字典对象

dict = {'Name': 'QQ', 'Age': 7, 'Class': 'First'}
 
dict['Age'] = 8               # 更新 Age
dict['School'] = "XUTP"  # 添加信息 
print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])
Traceback (most recent call last):
  File "test.py", line 9, in <module>
    print ("dict['Age']: ", dict['Age'])
TypeError: 'type' object is not subscriptable

2.del 字典名[键值]:删除的是指定的键值对

dict = {'Name': 'QQ', 'Age': 7, 'Class': 'First'}

dict['Age'] = 8  # 更新 Age
dict['School'] = "XUTP"  # 添加信息
print("dict['Age']: ", dict['Age'])
print("dict['School']: ", dict['School'])
del dict['Name']
print(dict)
dict['Age']:  8
dict['School']:  XUTP
{'Age': 8, 'Class': 'First', 'School': 'XUTP'}

3.字典名.clear():清空字典所有内容,即变成空字典

dict = {'Name': 'QQ', 'Age': 7, 'Class': 'First'}
dict.clear()
print(dict)
{}

字典的特性

字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。也就是说值可以随便定义,但是键不行。因为键是不可变类型,所有只能用数字、字符串、元祖定义,而不可以是列表和字典这种可变类型。还有一点不允许同一个键出现两次,创建时如果同一个键被赋值两次,后一个值会被记住。
如:

dict = {'Name': '菜鸡', 'Age': 7, 'Name': '小菜鸟'}
 
print ("dict['Name']: ", dict['Name'])
dict['Name']:  小菜鸟

总结

字典和列表、元祖有着很大的区别,字典内容的存放是无序的,我们不能通过下标索引来访问字典中的值。因此要严格遵守要求,同时也可以通过dict.items()方法来获取字典内容。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值