Pyhton学习记录——십이 字典

目录

1、应用场景

2、创建

3、常见操作

1、新增

2、删除

3、修改

4、查找

5、循环遍历

6、嵌套


1、应用场景

当确实一个列表里面的数据时,用对应的下标可以找到一个数据,但是如果数据顺序变了,下标也得变。而对于字典来说,字典的数据以键值对形式出现,和数据顺序无关,即字典不支持下标,后期无论数据如何变化,只需要按照对应的键的名字查找数据即可。

2、创建

字典特点:

符号为大括号

数据为键值对形式出现

各个键值对之间用逗号隔开

key : value,这是字典的形式。value可以是任何数据类型,key只能是不可变的数据类型

d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
print(d1)
#创建一个空字典
d2 = {}
print(type(d2))
print(d2)
d3 = dict()
print(type(d3))

{'name': 'TOM', 'age': '20', 'gender': '男'}
<class 'dict'>
{}
<class 'dict'>

3、常见操作

1、新增

字典新增数据写法:字典序列[key] = 值.如果key存在则修改这个key对应的值,不存在则新增此键值对

d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
d1['id'] = 110
print(d1)
d1['name'] = 'ROSE'
print(d1)

{'name': 'TOM', 'age': '20', 'gender': '男', 'id': 110}
{'name': 'ROSE', 'age': '20', 'gender': '男', 'id': 110}

2、删除

del()/del

d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
del(d1)
print(d1)

会报错

d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
del d1['name']
print(d1)

{'age': '20', 'gender': '男'}

pop()函数按照key来删除,括号里是key
 

clear

d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
d1.clear()
print(d1)

{}

3、修改

写法:序列【key】 = 值

如果key存在则修改这个key对应的值;如果key不存在则新增此键值对

d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
d1['name'] = 'Paul'
print(d1)

{'name': 'Paul', 'age': '20', 'gender': '男'}

4、查找

有两种方法

key值查找

如果当前查找的key存在,则返回对应的值,否则则报错
 

d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
print(d1['name'])
print(d1['id'])

TOM
Traceback (most recent call last):
  File "E:\codes\first.py", line 3, in <module>
    print(d1['id'])
KeyError: 'id'

get()

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

如果当前查找的key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None。None是Python里的一个数据类型,表示空,类型为NoneType

d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
print(d1.get('name'))
print(d1.get('id', 111))
print(d1.get('id'))

TOM
111
None

keys()

d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
print(d1.keys())

dict_keys(['name', 'age', 'gender'])

查找所有的key,返回一个可迭代的对象,可进行for的遍历的对象

values()

和key对应,查找到值,返回一个可迭代对象,可进行for的遍历的对象

d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
print(d1.values())

dict_values(['TOM', '20', '男'])
 

items()

返回一个个元组,每个元组对应字典里的键值对。返回一个可迭代对象,可进行for的遍历的对象

d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
print(d1.items())

dict_items([('name', 'TOM'), ('age', '20'), ('gender', '男')])

5、循环遍历

key

d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
for key in d1.keys():
    print(key)

name
age
gender
 

value

d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
for value in d1.values():
    print(value)

TOM
20

 

元素

d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
for item in d1.items():
    print(item)

('name', 'TOM')
('age', '20')
('gender', '男')

键值对

将得到的数据进行拆包

d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
for key, value in d1.items():
    print(f'{key} = {value}'

name = TOM
age = 20
gender = 男

循环删除的时候,和列表一样,需要一个临时字典来辅助删除。

6、嵌套

嵌套的字典想要访问,就用[][][]来访问,和数组一样。

字典相关部分写完。当然只是简单的说明。

结束。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值