07.字典

1.回顾

容器

2. 字典

2.1 字典的定义和访问

"""
字典:
    key - value 键值对
    dict1={key:value,....,}
    key:的数据类型可以是字符串,数字
    value: 任意类型
"""
# 定义空字典
dict4={}
dict5=dict()

print(dict4,type(dict4))
print(dict5,type(dict5))

# 非空字典
dict1={"语文":90,'英语':60,'体育':20}
print(dict1,type(dict1))

dict2={1:"张三",2:"王五"}
print(dict2)

# 元组也行
dict3={(2,):"one",(3,):"two"}
print(dict3)

# list不可以作为字典的键值

# dict4={[1,2]:"one",[3,4]:"two"}
# print(dict4)

# 字典的访问,通过key来访问value

dict6 ={"0001":"大数据一班","0002":"大数据二班",3:"大数据三班",4:["java","#c","python"]}

v1=dict6[3]
print(v1)
print(dict6["0001"])
print(dict6[4])

# 如果没有该键值则报错
# print(dict6[0])

# 如果使用 dict.get(key) 当key不存在则返回None
print(dict6.get(0))

# 连个参数,第一个参数为key值,如果key值存在则返回原字典中value值
# 如果 key值不存在,则返回给定的value值。
obj = dict6.get(0,"one")
print(dict6)
print(obj)

2.2 字典中添加和修改数据

# 字典中添加数据
dict1={}
print(dict1)
dict1.update({"数学":90})
dict1.update({"语文":100})
# 修改
dict1.update({"语文":20})
print(dict1)

# 字典中的key值不能重复
dict2={"体育":40,"化学":60,"体育":50}
print(dict2)


2.3 字典中删除数据

# 根据key值使用 del 字典名[key] 删除

dict1={1:'男',2:'女',3:'未知'}
print(dict1)

# 删除最后一个
del dict1[3]
print(dict1)

# dict1.pop(key) 返回值为删除的value值
print(dict1.pop(2))
print(dict1)

# dict1.clear() 清空字典
# dict1.clear()
print(dict1)


del dict1       # 删除dict1 变量 ,后面不能再使用,除非再次定义

2.4 字典中遍历数据

1. for 循环直接遍历字典, 遍历的是字典的 key 值
# 遍历
dict1={"java":90,"python":99,"javaweb":89,"#c":100}
for key in dict1:
    print(key,dict1[key])
2. 字典.keys()
# 遍历
dict1={"java":90,"python":99,"javaweb":89,"#c":100}

for key in dict1:
    print(key,dict1[key])
# dict.keys()
"""
    返回值是 dict_keys类型 
    1.可以使用list()转换为list类型
    2.可以使用for进行遍历      
"""
dict1_keys= dict1.keys();
print(type(dict1_keys))
dict1_list = list(dict1_keys)
print(dict1_list,type(dict1_list))
for key in dict1_list:
    print(key,dict1[key])
3. 字典.values()
# dict.values()
"""
返回值是dict_values
1.可以可以通过list()转换为list
2.可以通过for遍历
"""
dict1_values=dict1.values()
print(dict1_values,type(dict1_values))
4. 字典.items()
# dict.items()
"""
返回的是一个dict_items类型,由key,value组成的元组类型
1.可以使用list()转换
2.for遍历
"""

dict1_items = dict1.items()
print(dict1_items,type(dict1_items))

dict1_list=list(dict1_items)
print(dict1_list)

for item in dict1_items:
    print(item)

2.5 enumerate 函数

"""
    enumerate()可以将序列容器转成 键值对(下标(key),和具体的元素值(value)构成的元组
"""
list1=['a','b','d','e']
for i in list1:
    print(list1.index(i),i)
dict1={}
for j in enumerate(list1):
    print(j)
    dict1.update({j})
print(dict1)

2.6 公共方法

  • + 支持 字符串、列表、元组进行操作, 得到一个新的容器

  • * 整数 复数, 支持 字符串、列表、元组进行操作, 得到一个新的容器

  • in/not in 判断存在或者是不存在,支持 字符串、列表、元组、字典进行操作, 注意: 如果是字典的话,判断的是 key 值是否存在或不存在

  • max/min 对于字典来说,比较的字典的 key值的大小

   dict1={'ab':10,'ba':20,'cd':30,'ca':40}
print(max(dict1))
print(min(dict1))

list1=[1,10,0,9]
print(max(list1))

print(list1+list1)
print(list1*3)            

总结答疑

1. 在字典中可以包含列表,列表中能包含字典吗?
可以的, 列表 元组可以存放任意类型的数据,同样,字典中的 valu也可以是任意的类型,字典也可以作为字典的 value 值。
# 列表中能包含字典吗?
# 可以的, 列表 元组可以存放任意类型的数据,
# 同样,字典中的 valu也可以是任意的类型,
# 字典也可以作为字典的 value 值。
list1=[{1:"张三",2:"李四"},{"java":20,"python":40}]

dict1={"java":{1:"变量",2:"数据类型"},"javaweb":{1:"tomcat容器",2:"http协议"}}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

XYDrestart

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

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

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

打赏作者

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

抵扣说明:

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

余额充值