Python基础篇------字典

1. 字典的引用

        在一个班级有100名同学,我们需要存储这100名同学的学号,姓名,性别,年龄,如若我们用列表进行存储,那我们就需要创建四个列表将这100名同学按顺序进行插入。

        这样做会让我们的代码显得十分冗余,而且不好操作,因为我们查找一个学生的信息需要到这个四个表中进行查找,因此我们引入了字典这一数据类型。

        字典的优秀之处在于它是Python中唯一实现映射关系的内置类型。什么是映射呢?例如我们查找学生信息可以通过学号进行查找其对应学号下的姓名,年龄等。

2. 创建字典

· 符号为大括号

· 数据为键值对的形式出现

· 各个键值对之间用逗号分隔

# 有数据的字典
dict1 = {'name' : '小红', 'age': 20, 'sex':'女'}
# 空字典
dict2 = {}
dict3 = dict()

注意:一般称冒号前面的为键(key);冒号后面的为值(value),我们称键和值为键值对。比如name和小红就是一对键值对。

3. 字典常见操作

3.1 增加数据

        通过键直接进行增加:

语法:

变量名[key] = value		# key是该字典的键,value是该键对应的值
dic1 = {}
dic1["name"] = '张三'
print(dic1)

注意:由于映射严格满足映射关系,因此字典中的键必须是唯一的。  

dic1 = {}
dic1["name"] = '张三'
print(dic1)
dic1["name"] = "李四"
print(dic1)

 

· fromkeys():

        fromkeys是字典提供的方法,它可以使用 iterable 作为参数指定的可迭代对象来创建的一个新的字典,并且把所有的值初始化为values参数指定的值(默认为None)

语法:

变量名 = dict.fromkeys(iterable[,values])
dic1 = dict.fromkeys("Python",520)

3.2 删除数据

· del:

        删除字典或者字典中指定的键值对

语法:

del 字典名				# 表示删除整个字典
del 字典名[key]		# 删除字典键位key的键值对
dict1 = {'name': '张三', 'age': 18, 'gender': '男'}
del dict1['age']		# 删除字典键为name的键值对
print(dict1)
del dict1				# 删除字典dict1
print(dict1)			# 再次访问发生报错

 

· pop():

语法:

字典名.pop(key[,default])

        删除一个指定键的键值对,存在该键,则返回该键的值。

        如果删除一个不存在的键就会抛出异常,但如果你想要Python不进行异常抛出,可以指定一个default参数,这是它会给你返回一个default指定的对象。

del 和pop()的区别:del是将直接将其删掉,不会具有返回值,pop()会返回你删除键的值

dict1 = {'name': '张三', 'age': 18, 'gender': '男'}
print(dict1.pop('name', '没有这个元素'))
print(dict1)

         如果存在该键,则返回对应的值,如若不存在,则返回指定参数 defalut "没有这个元素"

dict1 = {'name': '张三', 'age': 18, 'gender': '男'}
print(dict1.pop('sex', '没有这个元素'))
print(dict1)

· clear():

语法:

字典名.clear()

清空字典所有的键值对

dict1 = {'name': '张三', 'age': 18, 'gender': '男'}
dict1.clear()
print(dict1)

 

3.3 修改数据

        · 通过键直接修改

语法:

字典名[key] = values

注意:若不存在该键,则字典将增加一个该键下的键值对

dict1 = {'name': '张三', 'age': 18, 'gender': '男'}
dict1['name'] = '李四'
print(dict1)
dict1['love'] = 'python'
print(dict1)

 

        · update():

语法:

变量名.update([other])

        update()可以用来传递多个键值对,若我们需要修改多个键值对的,使用update()是非常不错的。当然,当传递的键不存在字典时,也会自动在字典中创建一个键值对。

dict1 = {'name': '张三', 'age': 18, 'gender': '男'}
dict1.update({'name': '李四', 'age': 20})
print(dict1)

 

3.4 查询数据

        · 使用键进行查找

dict1 = {'name': '张三', 'age': 18, 'gender': '男'}
print(dict1['name'])

        · get():

  语法:

字典名.get(key[,default])

        当我们直接使用键查找数据时,如果键不存在,它就会给我们报错,那么该如何让解释器不给我们报错呢?我们就可以使用get(),它可以存入一个 default 参数指定为当找不到键的时候返回的值。

dict1 = {'name': '张三', 'age': 18, 'gender': '男'}
print(dict1.get('name'))
print(dict1.get('wife',"没有找到他的妻子"))

 

        · setdefault():

语法:

字典名.setdefault(key[,default])

        我们要查找字典中有没有这个键,如果有的话返回它对应的值,若没有的话,就给它指定一个新的值,相当于我们给字典创建了一个新的键值对,这种需求我们可以使用一个 setdefault 的方法来实现:

dict1 = {'name': '张三', 'age': 18, 'gender': '男'}
print(dict1.sedefault('name','李四'))
print(dict1.sedefault('wife','小红'))
print(dict1)

 

4. 字典的视图:

4.1 什么是试图对象?

         视图对象即字典的动态试图,这就意味着当字典的内容发生改变的时候,试图对象的内容也

相应地跟着改变。

· items():

语法:

字典名.items()

用于获取字典的键值对

dict1 = {'name': '张三', 'age': 18, 'gender': '男'}
print(dict1.items())

 

· keys():

语法:

字典名.keys()

用于获取字典的所有键

dict1 = {'name': '张三', 'age': 18, 'gender': '男'}
print(dict1.keys())

· values():

语法:

字典名.values()

用于获取字典的所有值

dict1 = {'name': '张三', 'age': 18, 'gender': '男'}
print(dict1.values())

当然,字典的视图不会是一直不变的,它会随着你对字典的操作而发生变化 。 

        以上是我对字典的基础认识,如果大家发现文中出现的问题,希望大家能够指出,我们共同学习探讨!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值