python中的数据容器字典(dict)

一. 字典的引入
1 引言: 字典是一种可变的,无序的,键值对,复杂的数据容器.
python中的字典是python中的一个键值映射的数据结构.

2 字典是一种可变无序的数据容器,且可以存储任意类型的对象,字典的每个键值key=value对用冒号’:’ 分割.每个键值对之间用逗号分隔, 整个字典数据包括在花括号{}之间. 字典常量用大括号表示,

例如:
{‘name’:‘wangjun’,‘age’:18,‘sex’:‘male’}, 其中’name’,‘age’,‘sex’是键,字符串’wangjun’,'male’以及数字18为值.

2 字典的应用场景

字典里面的数据是以键值对形式出现的,字典的数据和数据顺序没有关系,即字典不支持下标,后期无论数据如何变化,只需要按照对应的键的名字来查找数据即可.

3 字典的定义:
字典使用键值对存储字典,键值对之间使用’,'分隔
Ⅰ 字典用{}来定义
Ⅱ 键key是索引
Ⅲ 值value是数据
Ⅳ 键和值之间用":"来分隔
Ⅴ 键必须是唯一的
Ⅵ 值可以是任意数据类型,但是键只能是字符串,数字或者元组

在这里插入代码片
字典的创建
{}   大括号是字典创建的符号
<class 'dict'>  字典类型

字典之间的数据形式是键值对的形式  如key:value 的形式
   key -->
       冒号左边是字典的键,
       字典的键必须唯一: 键可以是字符串/数组/元组/布尔类型,不能是列表
       取值是根据键取对应的值
   value  -->
   		冒号右边的是键的值,可以是python中的任意的类型


如下:
dict={
	'name':'job',
	'age':18,
	'sex':'男',    #字符串
	1:1,   #数字
	(1,):(1,)    #元组
}

二 字典常用的方法
1 常用的方法
在这里插入图片描述
2 取值
使用字典的[‘键’]可以获得字典的内容

在这里插入代码片

dict={
	'name':'job',
	'age':18,
	'sex':'男',    #字符串
	1:1,   #数字
	(1,):(1,)    #元组
}
print(dict['name'])

输出结果   job

3 使用字典[‘键’]=值修改字典的内容

在这里插入代码片

dict={
	'name':'job',
	'age':18,
	'sex':'男',    #字符串
	1:1,   #数字
	(1,):(1,)    #元组
}
#需求:job 的年纪变大一岁
dict['age']=19
print(dict['age'])

输出结果   19

3 当键不存在时添加内容

在这里插入代码片
dict={
	'name':'job',
	'age':18,
	'sex':'男',    #字符串
	1:1,   #数字
	(1,):(1,)    #元组
}
#需求:添加一个体重为55kg的数据
dict['weight']=55
print(dict['weight'])
print(dict)

输出结果   55
		{'name': 'job', 'age': 18, 'sex': '男', 1: 1, (1,): (1,), 'weight': 55}

4 get 的取值

语法: 字典序列.get(key,默认值)

**注意:**如果当前查找的key不存在则返回第二个参数(默认值),如果第二个参数省略,则返回None

在这里插入代码片
dict={
	'name':'job',
	'age':18,
	'sex':'男',    #字符串
	1:1,   #数字
	(1,):(1,)    #元组
}

print(dict.get['name'])  #job

5 获取键
.keys()

在这里插入代码片
dict={
	'name':'job',
	'age':18,
	'sex':'男',    #字符串
	1:1,   #数字
	(1,):(1,)    #元组
}

print(dict.keys())  #dict_keys(['name', 'age', 'sex', 1, (1,)])

6 获取值
.values()

在这里插入代码片
dict={
	'name':'job',
	'age':18,
	'sex':'男',    #字符串
	1:1,   #数字
	(1,):(1,)    #元组
}

print(dict.values())  #dict_values(['job', 18, '男', 1, (1,)])

7 获取键值对
.items()

在这里插入代码片
dict={
	'name':'job',
	'age':18,
	'sex':'男',    #字符串
	1:1,   #数字
	(1,):(1,)    #元组
}

print(dict.items())   #dict_items([('name', 'job'), ('age', 18), ('sex', '男'), (1, 1), ((1,), (1,))])

8 循环遍历

遍历就是依次从字典中获取所有的键值对

在这里插入代码片
dict={
	'name':'job',
	'age':18,
	'sex':'男',    #字符串
	1:1,   #数字
	(1,):(1,)    #元组
}

for key,values in dict.items():
	print(key,values)

或者下面的方法
for key in dict.items():
	print(key,dict[key])

输出结果
name job
age 18
sex 男
1 1
(1,) (1,)

9 字典更新

在这里插入代码片

合并字典
dict1={
	'name':'张三',
	'age':18
}
dict2={
	'sex':'男',
	'school':'北京大学'
}

dict1.update(dict2)   #将dict2键值对合并到dict1
print(dict1)


输出结果
{'name': '张三', 'age': 18, 'sex': '男', 'school': '北京大学'}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不想做程序猿的员

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

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

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

打赏作者

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

抵扣说明:

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

余额充值