python中的字典及嵌套遍历
Python字典及嵌套遍历
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中
dict1={'apple':23,'banana':34,'cherry':6}
dict2={'java':[1,2],'python':[3,4],'c++':[5,6]}
dict3={'java':{'year':'1996','url':'www/baidu.com','score':[20,30,40]},'python':{'year':'1994','url' :'www/baidu.com','score':[50,60,70]}}
访问字典里的值
获取字典里的值方式有两种,一个是通过字典的key值下标获取对应value,还可以通过get方法获取对应value
区别:
使用key下标的方式,如果用字典里没有的键访问数据,会抛KeyError的异常。
而使用get方法,如果键不在字典中返回默认值 None 或者设置的默认值。
修改字典
dict1={'apple':23,'banana':34,'cherry':6}
dict1['apple'] = 8 # 更新
dict1['orange'] = 34 # 添加
删除字典元素
dict3 ={'java':[1,2],'python':[3,4],'c++':[5,6]}
#========删除元素
print('删除前',dict3)
del dict3['java']
print('删除后',dict3)
#=======清空字典所有条目
print('清空字典所有条目',dict3.clear())
#========删除字典
del dict3
嵌套字典遍历与内置函数
items()—函数 Python 字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组。
#======items函数 嵌套for循环
dict3={'java':{'year':'1996','url' :'www/baidu.com','score':[20,30,40]},'python':{'year':'1994','url' :'www/baidu.com','score':[50,60,70]}}
for key,value in dict3.items():
print('外层key',key)
print('外层value',value)
for key1,value1 in value.items():
print('内层key',key1)
print('内层value',value1)
keys() — Python 字典(Dictionary) keys() 函数以列表返回一个字典所有的键。values() — Python 字典(Dictionary) values() 函数以列表返回字典中的所有值。
#========方法二 使用keys() ,values() 函数获取嵌套字典的所有key,value
dict3={'java':{'year':'1996','url' :'www/baidu.com','score':[20,30,40]},'python':{'year':'1994','url' :'www/baidu.com','score':[50,60,70]}}
print(dict3.keys())
for i in range(len(list(dict3.values()))):
print(list(dict3.values())[i].values())
fromkeys() —Python 字典 fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。
seq = ('Google', 'Runoob', 'Taobao')
# 不指定默认的键值,默认为 None
thisdict = dict.fromkeys(seq)
print ("新字典为 : %s" % str(thisdict))
# 指定默认的键值
thisdict = dict.fromkeys(seq, 10)
print ("新字典为 : %s" % str(thisdict))
popitem()—Python 字典 popitem() 方法返回并删除字典中的最后一对键和值。
dict2={'java':[1,2],'python':[3,4],'c++':[5,6]}
pop_obj=dict2.popitem()
print(pop_obj)
print(site)
字典的常用方法(定义、新增、删除、更新、遍历、嵌套等)
什么是字典?
生活中的字典:通过字去找含义。
Python的字典:通过key去找vaule
为什么需要字典?
应用场景:有一份名单记录了学生和对应的成绩,现在需要通过Python录入到程序中,并可以通过学生姓名找到其成绩。
可以通过Key(姓名)找到value(成绩)
字典
一、字典的定义
1、定义字典字面量
{key:value,key:value......}
2、定义字典变量
my_dict = {key:value,key:value......}
3、定义空字典
my_dict = {}
my_dict = dict()
4、通过key获取value
例:
my_dict = {"张":99,"王":98,"李":97}
score = my_dict["张"]
print(score)
5、字典的嵌套
字典的key和value可以是任意数据类型(key不可为字典)
例:记录学生各科的考试信息
my_dict = {
"张":{
"语文":99,
"数学":98
},
"王":{
"语文":99,
"数学":98
}
}
score = my_dict["张"]["语文"]
print(score)
二、常用操作
1、新增元素
语法:字典[key] = value
结果:字典被修改,新增元素
例:
my_dict = {"张":99,"王":98,"李":97}
my_dict["刘"] = 96
print(my_dict)
2、更新元素
语法:字典[key] = value
结果:字典被修改,元素更新
例:
my_dict = {"张":99,"王":98,"李":97}
my_dict["张"] = 96
print(my_dict)
3、删除元素
语法:字典.pop(key)
结果:获得指定key的value,字典被修改
例:
my_dict = {"张":99,"王":98,"李":97}
my_dict.pop("张")
print(my_dict)
4、清空字典
语法:字典.clear()
结果:字典被修改,元素清空
例:
my_dict = {"张":99,"王":98,"李":97}
my_dict.clear()
print(my_dict)
5、获取全部的key
语法:字典.keys()
结果:得到全部key
例:
my_dict = {"张":99,"王":98,"李":97}
print(my_dict.keys())
6、统计字典元素数量
语法:len(字典)
三、字典的遍历
1、遍历字典的key
例:
my_dict = {"张":100,"王":100,"李":100}
for keys in my_dict:
print(keys)
结果:
张
王
李
2、遍历字典的value
例:
my_dict = {"张":100,"王":100,"李":100}
for values in my_dict.values():
print(values)
结果:
100
100
100
3、遍历字典的item
例:
my_dict = {"张":100,"王":100,"李":100}
for items in my_dict.items():
print(items)
结果:
('张', 100)
('王', 100)
('李', 100)
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
相关文章