多平台统一管理软件接口,如何实现多平台统一管理软件接口
399
2022-08-27
Python ❀ 字典(python编程)
文章目录
1、字典使用
1.1 访问字典内的值1.2 添加一个键值对1.3 创建一个空白字典1.4 删除键值对或字典
2、字典遍历
2.1 遍历所有键值对2.2 遍历字典内的键2.3 按顺序遍历所有键2.4 遍历字典内的值
3、字典嵌套
3.1 字典与列表的嵌套3.2 字典与字典的嵌套
1、字典使用
在Python中字典是一系列键值对的集合,每一个键都对应一个值,可以使用键的访问来获取到值的内容,与键相关联的内容可以是数字、字符串、列表甚至是字典;可以将任何对象用作字典的值;
1.1 访问字典内的值
若是想获取与键相关联的值,可以依次指定字典名称和括号内的键;
dir = {"name":"zxc","age":25,"adress":"bj"}print(dir["name"])
输出结果:
zxc
1.2 添加一个键值对
字典是一种动态结构,可以随时在其中添加一组键值对;当需要修改字典内的某项键值对时,可以直接使用其相匹配的键进行修改;
d1 = {"name":"zxc","age":25,"adress":"bj"}d1["tel"]=150d1["age"]=24print(d1)
输出结果:
{'name': 'zxc', 'age': 24, 'adress': 'bj', 'tel': 150}
1.3 创建一个空白字典
在某些情况下,创建一个空白字典,然后将不同的键值对以遍历的方式进行填补到该空白字典;
d1 = {}
1.4 删除键值对或字典
若是需要删除某个键值对,采用del函数即可;
d1 = {"name":"zxc","age":25,"adress":"bj"}del d1["adress"]print(d1)del d1
输出结果:
{"name":"zxc","age":25}
2、字典遍历
一个字典可能存储了较少的数据,也可能存储了相当多的数据,因此对键值对的遍历方法非常值得学习;默认的遍历字典只遍历字典内的键,并不会主动遍历值,因此就需要了解其他的函数,以获取不同的键值对信息;
d1 = {"name":"zxc","age":25,"adress":"bj"}for k in d1: print(k)
输出结果:
nameageadress
2.1 遍历所有键值对
使用for循环遍历字典,可以使用items()函数获取到键值对的键与值两个数据,分别使用不同的变量对应;
d1 = {"name":"zxc","age":25,"adress":"bj"}for k,v in d1.items(): print(k,v)
输出结果:
name zxcage 25adress bj
键值对的返回顺序与存储顺序不一定相同,Python只关注键值对的对应关系,并不关心键值对的存储顺序;
2.2 遍历字典内的键
在字典的遍历中,可能只需要遍历字典的键,因此就可以使用key()函数;在遍历字典时,默认遍历字典内的键,因此key()函数可以省略;
d1 = {"name":"zxc","age":25,"adress":"bj"}for k in d1.keys(): print(k)
输出结果:
nameageadress
2.3 按顺序遍历所有键
在字典中并不关心键值对的顺序,因此在使用items()与key()函数时,其输出的顺序是随机的,因此若是需要以顺序进行输出键值对时,就需要用到函数sorted()函数;排序时需要注意数据类型(str与int无法进行排序,需要转换格式后进行排序);
d1 = {"name":"zxc","age":25,"adress":"bj"}for k in sorted(d1): print(k)
输出结果:
adressagename
2.4 遍历字典内的值
之前说明了如果只遍历字典内的键,若是只需要字典内的值,可以使用vlaue()函数获取;
d1 = {"name":"zxc","age":25,"adress":"bj"}for v in d1.values(): print(v)
输出结果:
zxc25bj
3、字典嵌套
前面提到了在字典的键值对内是可以嵌套新的字典,因此在某些场景下,可以使用字典的嵌套进行一些数据存储的操作;
3.1 字典与列表的嵌套
创建一个包含两个字典的列表;
d1 = {"first_name":"z","last_name":"xc"}d2 = {"age":11,"adress":"bj"}l1 = [d1,d2]print(l1)
输出结果:
[{'first_name': 'z', 'last_name': 'xc'}, {'age': 11, 'adress': 'bj'}]
创建一个包含两个列表的字典;
l1 = [1,2,3]l2 = [2,3,4]d3 = {"aaa":l1,"bbb":l2}print(d3)
输出结果:
{'aaa': [1, 2, 3], 'bbb': [2, 3, 4]}
当字典嵌入列表时,可以遍历并判断来修改字典的键值对,代码如下:
d1 = {"first_name":"z","last_name":"xc"}d2 = {"age":11,"adress":"bj"}l1 = [d1,d2]print(l1)for i in l1[0:2]: # 当first_name等于z时,修改last_name为bb if d1["first_name"] == "z": d1["last_name"]="bb" # 当age为11时,修改adress为sx if d2["age"] == 11: d2["adress"]="sx"print(l1)
输出结果:
[{'first_name': 'z', 'last_name': 'xc'}, {'age': 11, 'adress': 'bj'}][{'first_name': 'z', 'last_name': 'bb'}, {'age': 11, 'adress': 'sx'}]
3.2 字典与字典的嵌套
在字典中嵌入字典的代码如下:
d1 = {"aa1":"bb1", "cc1":"dd1"}d2 = {"aa2":"bb2", "cc3":"dd3"}d3 = {"aa3":"bb2", "cc3":"dd3"}d = {"name":d1, "age":d2,"tel":d3}print(d)
输出结果:
{'name': {'aa1': 'bb1', 'cc1': 'dd1'}, 'age': {'aa2': 'bb2', 'cc3': 'dd3'}, 'tel': {'aa3': 'bb2', 'cc3': 'dd3'}}
首先定义三个字典,然后定义一个包含三个字典的全字典,获取全字典的键值对,进行判断修改;
d1 = {"aa1":"bb1", "cc1":"dd1"}d2 = {"aa2":"bb2", "cc3":"dd3"}d3 = {"aa3":"bb2", "cc3":"dd3"}d = {"name":d1, "age":d2,"tel":d3}for k,v in d.items(): # 当键匹配到name时,值为d1字典 if k == "name": v["aa1"]="bbb" # 当键匹配到age时,值为d2字典 elif k == "age": v["cc3"]="ddd" # 当键匹配到tel时,值为d3字典 elif k == "tel": v["aa3"]="bbb"print(d)
输出结果:
{'name': {'aa1': 'bbb', 'cc1': 'dd1'}, 'age': {'aa2': 'bb2', 'cc3': 'ddd'}, 'tel': {'aa3': 'bbb', 'cc3': 'dd3'}}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~