python进阶-----第十课 --字典

python进阶,在第一期的基础上做了极大的优化,整体更加美观易懂

十、字典

字典的作用:可以在不支持下标操作的情况下,数据顺序发生变化之后依然可以查找到数据。、

字典内为键值对,寻找数据时候,即通过key拿到key对应的值,key为键,值为vaiue

# 字典的格式:
{"name":"lilei","age":20,"gender":"男"}  # 都是以键值对的形式存在,一 一对应

字典的特点:
1、符号为大括号
2、数据为键值对形式出现
3、各个键值对之间用逗号隔开

10.1、创建

创建空字典:{}或dict()

dict1 = {}
dict2 = dict()
print(type(dict1))
print(type(dict2))
# 结果:
>>> <class 'dict'>
>>> <class 'dict'>

创建非空字典

dict3 = {"yb": "xuh", "eb": "pz", "xz": "xxx"}
print(dict3)
# 结果
>>> {'yb': 'xuh', 'eb': 'pz', 'xz': 'xxx'}

10.2、增加

增加,写法:字典[kay] = 值

dict4 = {"name": "tom", "age": "8", "gender": "女"}
dict4["id"] = 100
print(dict4)
# 结果:
>>> {'name': 'tom', 'age': '8', 'gender': '女', 'id': 100}

10.3 、修改

写法:字典序列[key] = 值

dict4 = {"name": "tom", "age": "8", "gender": "女"}
dict4["name"] = "mei"  # ”键“要在字典中
print(dict4)
# 结果:
>>> {'name': 'mei', 'age': '8', 'gender': '女'}

10.4、删除

del():del 字典名或del(字典名),删除整个字典或者键值对

# 删除字典
dict4 = {"name": "tom", "age": "8", "gender": "女"}
del dict4
print(dict4)
# 结果:
>>> 报错,字典未定义
>>> Traceback (most recent call last):
>>> ...

删除键值对

dict4 = {"name": "tom", "age": "8", "gender": "女"}
del dict4["name"]  # 删除整个键值对
print(dict4)
# 结果:
>>> {'age': '8', 'gender': '女'}
dict4 = {"name": "tom", "age": "8", "gender": "女"}
del(dict4["age"])
print(dict4)
# 结果:
>>> {'name': 'tom', 'gender': '女'}

.clear():字典名.celar(),清空字典中的数据

dict4 = {"name": "tom", "age": "8", "gender": "女"}
dict4.clear()
print(dict4)
# 结果:
>>> {}  #空字典

10.5、查找

10.5.1、按key查找

按key查找:字典名[key],存在返回key对应的值,不存在报错

dict5 = {"name": "tom", "age": "8", "gender": "女"}
print(dict5["gender"])
# 结果:
>>>
10.5.2、按函数查找

get():字典名.get(key),存在返回key对应的值,不存在返回None—>空

dict6 = {"name": "tom", "age": "8", "gender": "女"}
print(dict6.get("name"))  # tom
print(dict6.get("names"))  # Nome

Keys:字典名.keys(),查找字典中所有的key,并返回 可迭代对象->即序列,可以用for循环循环的对象(如:str 字符串,list 列表,tuple 元组,srt 集合,dict 字典)

dict6 = {"name": "tom", "age": "8", "gender": "女"}
print(dict6.keys())
# 结果:
>>> dict_keys(['name', 'age', 'gender'])  # 返回列表

valuse():字典名.values(),查找字典中所有的values,并且返回可迭代对象

dict6 = {"name": "tom", "age": "8", "gender": "女"}
print(dict6.values())
# 结果;
>>> dict_values(['tom', '8', '女'])  # 返回列表

items():字典名.items(),查找字典中所有的键值对,并且返回可迭代对象:列表中数据的数据类型是元组

dict6 = {"name": "tom", "age": "8", "gender": "女"}
print(dict6.items())
# 结果:
>>> dict_items([('name', 'tom'), ('age', '8'), ('gender', '女')])

10.6、字典的循环遍历

字典的循环遍历——>通过循环拿出里面的键值对

遍历所有key

dict7 = {"name": "tom", "age": "8", "gender": "女"}
for key in dict7.keys():  # .keys 查找字典中所有的key
    print(key)
# 结果:
>>> name
>>> age
>>> gender

遍历所有values

dict7 = {"name": "tom", "age": "8", "gender": "女"}
for va in dict7.values():  # .values 查找所有的values
    print(va)
# 结果:
>>> tom
>>> 8
>>>

遍历元素->元素指数据也等于键值对

dict7 = {"name": "tom", "age": "8", "gender": "女"}
for item in dict7.items():  # .items 查找所有的键值对
    print(item)
# 结果:
>>> ('name', 'tom')
>>> ('age', '8')
>>> ('gender', '女')

遍历键值对,一个键一个值进行拆分

dict7 = {"name": "tom", "age": "8", "gender": "女"}
for key, val in dict7.items():  # 注意for后面的写法
    print(key)
    print(val)
# 结果:
>>> name
>>> tom
>>> age
>>> 8
>>> gender
>>>
dict7 = {"name": "tom", "age": "8", "gender": "女"}
for key, val in dict7.items():
    print(f"{key} = {val}")
# 结果;
>>> name = tom
>>> age = 8
>>> gender =

10.7、拆包与组包

将一个序列的数据拆开分为多个数据这个行为叫拆包
将多个数据(值)赋给一个变量默认类型为元组,这个行为叫组包

zb = 10, 20, "sjb"
print(type(zb))
# 结果:
>>> <class 'tuple'>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值