0基础学python第十三天:python字典进阶操作

大家好!今天我们学习的是python的字典进阶操作,而字典的用途很多,字典是 除列表以外 Python 之中 最灵活 的数据类型。而字典是一种无序的对象集合,和列表相反,列表是一种有序的对象集合,字典和列表一样都能进行增删改查。字典 (Dictionary)是Python提供的一种常用的数据结构,由键(key)和值(value)成对组成,键和值中间以冒号:隔开,项之间用逗号隔开,整个字典由大括号 {}括起来 。

文章目录

目录

文章目录

一、什么是字典

二、字典与列表的区别

三、简单的定义一个字典

四、访问字典

五、修改字典

六、删除字典元素

七、字典的遍历

八、字典内置的函数

总结



一、什么是字典

dictionary(字典)是另一种可变容器模型,且可存储任意类型对象。字典是 除列表以外 Python 之中 最灵活 的数据类型。字典可以用来 存储多个数据。通常用于存储描述一个物体的相关信息 。

字典用{}定义,使用键值对存储数据,键值对之间使用“,”(英文逗号)分隔。其中键(key)是索引,值(value)是数据。键和值之间使用“:”(英文冒号)分隔。

需要注意的是:键必须是唯一的,值可以去任何数据类型,但是键 只能使用 字符串、数字或 元组。

二、字典与列表的区别

  •  列表是有序的对象集合
  •  字典是无序的对象集合

三、简单的定义一个字典

# 定义一个身份信息的字典
xiaoli = {'name': '李力', 'age': 28, 'height': 185, 'weight': '80kg'}
# 格式 变量 = {key:value}
# 定义一个空字典
d = {}

1、字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字。

 2、键值对:一个键和一个值相对应,这一个对应的一对称之为 “对”,使用逗号分隔,一个对就是一个元素,相当于列表里面的一个元素。

3、字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,也就是第一次定义的值,会被第二次定义的值覆盖,打印的时候就只显示第二次定义的值

四、访问字典

1、要访问一个字典里面的键,需要先定义一个字典,如果访问的字典里面没有所访问的“键”就会报错,所以要一个“键”对应一个值,这样才算是一个对。

# 定义一个关于小明的身份信息
identity = {'name': '小明', 'age': 21, 'height': 179, 'addr': '四川'}
print(identity['name'])
print(identity['age'])
print(identity['height'])
print(identity['addr'])

2、访问字典内数据的第二种方式

访问字典数据除了可以使用以上的一种方式外还可以使用 .get() 函数,来访问字典数据,实例如下:

# 定义一个关于小明的身份信息
identity = {'name': '小明', 'age': 21, 'height': 179, 'addr': '四川'}
# print(a_dict.name)    # 错误方法
print(a_dict.get('age'))    # 正确方法

print(identity.get('name'))
print(identity.get('age'))
print(identity.get('height'))
print(identity.get('addr'))

五、修改字典

1、修改字典就是向字典添加新内容的方法是增加新的键/值对

实例如下:

# 定义一个关于小明的身份信息
identity = {'name': '小明', 'age': 21, 'height': 179, 'addr': '四川'}
# 修改之前的字典
print(identity)
# 修改之后的字典
identity['name'] = '小李'
print(identity)

2、添加元素

给字典添加一个新的 key 值和 value
如果使用变量名['键'] = 数据时, 这个键如果在字典中不存在, 那么就会变成新增元素
# 定义一个新的字典
d = {'name': '小马'}
d['age'] = 45
print(d)

3、如果定义的字典中存在要添加的键值对元素时,那么添加之后的字典内的值就会变成你所添加的元素,之前的值就会被覆盖。

# 在字典内添加已经存在的键值对
d = {'name': '小马', 'age': 45}
d['name'] = '老马'
print(d)

六、删除字典元素

1、能删除字典内单一的元素,也可以清空整个字典

 字典的删除
 del
 1.删除字典中的某一个元素

实例如下:

# 定义一个字典
d = {'name': '老李', 'age': 19, 'height': 175}
# print(d)
# 删除字典中单一的元素
del d['name']
# 删除之后
print(d)

 2.删除整个字典
实例如下:

# 定义一个字典
a = {'name': '老李', 'age': 19, 'addr': '四川'}
# 删除整个字典
# 删除之前
print(a)
# 删除之后
def a
# 永久删除字典,无法打印,不然会报错
2、clear

删除字典中的所有数据,但是保留字典的结构
 实例如下:
# 先定义一个字典
a = {'name': '小明', 'age': 15, 'height': 145}
print(a)   # 删除之前
a.clear()
print(a)    # 删除之后

七、字典的遍历

1、什么是遍历?

遍历就是从头到尾依次从列表中获取数据,在循环体内部针对每一个元素,执行相同的操作。 在Python中为了提高列表的遍历效率,专门提供的迭代 (iteration)遍历。

2、字典的遍历分为四种

    2.1 遍历字典的 key

    2.2 遍历字典的 value

    2.3 遍历字典的 key 和 value

    2.4 遍历字典的元素/项

        2.1.1 遍历字典的 key 实例如下:

# 定义一个字典
a = {'name': '小明', 'age': 19, 'height': 185}
# 遍历字典的 key , 使用 .keys() 方法获取字典中的 key 值
for key in a.keys():
    print(key)    # 打印遍历的字典的 key 值

         2.2.2 遍历字典的 value 实例如下:

# 定义一个字典
b = {'name': '小李', 'age': 19}
# 使用 .values() 方法遍历字典的 value 
for value in b.values():
    print(value)   # 打印遍历字典的 value 

        2.3.3 遍历字典的 key 和 value 

# 定义一个字典
c = {'name': '小白', 'age': 25}
# 遍历字典的 key和 value 的值,用 .items() 方法
for key, value in c.items():
    print(key,value)    # 打印所遍历的值

      2.4.4 遍历字典的元素/项

# 定义一个字典
d = {'name': '小黑', 'age': 23}
# 遍历字典的项还是使用 .items() 方法
for item in d.items():
    print(item)    # 打印遍历的项

八、字典内置的函数

1.内置函数如下:

  • len(a) 计算字典内键的数量
  • str(a) 输出字典内的所有元素,输出的值为字符串
  • type(a) 输出变量的数据类型

实例如下:

# 定义一个字典
a = {'name': '小李', 'age': 45}
print(len(a))
# 定义一个字典
b = {'name': '老王', 'age': 32}
print(str(b))
# 定义一个字典
c = {'name': '小爱', 'age': 23}
print(type(c))

2、内置方法

字典内置方法

以下所有内置方法均以本次定义的字典为例:

# 定义一个字典
a = {'name': '小军', 'age': 23, 'height': 170, 'weight': '70kg', 'addr': '沈阳'}
  • a.clear() 删除字典内所有元素,但是保留字典的结构
  • a.copy() 输出字典的所有元素,相当于复制了一次字典
  • a.formkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
  • a.get(key, default = None) 返回指定键的值,如果键不在字典中返回 default 设置的默认值
  • key in a 如果键在字典中则返回 true 否则返回 false
  • a.items() 返回字典中的项
  • a.keys() 返回字典中的键
  • a.values() 返回字典中的值
  • a.setdefault(key, default = None)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
  • a.update(a2) 把字典里面的 a2 的键/值,对应更新到 a 中
  • pop(key, [default]) 删除字典 key(键)所对应的值,返回被删除的值。
  • popitem() 返回并删除字典中最后一对键和值


总结

以上就是今天所讲的内容,觉得写的不错,给个赞可以吗!

如果在文章中发现有的地方有问题,可以私信我或者在评论区讨论,我在看到的第一时间会即时更正,感谢观赏。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小宇学Python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值