python字典练习题
写代码:有如下字典 按照要求实现每一个功能 dict = {"k1":"v1","k2":"v2","k3":"v3"} 1、请循环遍历出所有的key
dict = {"k1":"v1","k2":"v2","k3":"v3"}
#1、请循环遍历出所有的keyfor k in dict: print(k)
[root@webserver test]# cat loop_dict_keys.py
#!/usr/bin/env python3# -*- coding:utf-8 -*-#1、请循环遍历出所有的keydict = {"k1":"v1","k2":"v2","k3":"v3"}for k in dict: print(k)[root@webserver test]# python3 loop_dict_keys.py k1k2k3[root@webserver test]#2、请循环遍历出所有的value
#2、请循环遍历出所有的valuefor k in dict: print(dict[k])
[root@webserver test]# cat loop_dict_values.py
#!/usr/bin/env python3# -*- coding:utf-8 -*-#2、请循环遍历出所有的valuedict = {"k1":"v1","k2":"v2","k3":"v3"}for k in dict: print(dict[k])[root@webserver test]# python3 loop_dict_values.py v1v2v3[root@webserver test]#3、请循环遍历出所有的key和value
#3、请循环遍历出所有的key和valuefor k in dict: print(k,dict[k])
[root@webserver test]# cat loop_dict_kv.py
#!/usr/bin/env python3# -*- coding:utf-8 -*-#1、请循环遍历出所有的keydict = {"k1":"v1","k2":"v2","k3":"v3"}for k in dict: print(k,dict[k])[root@webserver test]# python3 loop_dict_kv.py k1 v1k2 v2k3 v3[root@webserver test]#4、请在字典中增加一个键值对,"k4":"v4",输出添加后的字典
#4、请在字典中增加一个键值对,"k4":"v4",输出添加后的字典dict = { "k1":"v1","k2":"v2","k3":"v3"}print("dict原来的值: ",dict)dict["k4"] = "v4"print("dict新增\"k4\":\"v4\"后的值: ",dict)
[root@webserver test]# cat insert_dict.py
#!/usr/bin/env python3# -*- coding:utf-8 -*-#4、请在字典中增加一个键值对,"k4":"v4",输出添加后的字典dict = {"k1":"v1","k2":"v2","k3":"v3"}print("dict原来的值: ",dict)dict["k4"] = "v4"print("dict新增\"k4\":\"v4\"后的值: ",dict)[root@webserver test]# python3 insert_dict.py dict原来的值: {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}dict新增"k4":"v4"后的值: {'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': 'v4'}[root@webserver test]#5、请删除字典中键值对"k1":"v1",并输出删除后的结果
#5、请删除字典中键值对"k1":"v1",并输出删除后的结果dict = { "k1":"v1","k2":"v2","k3":"v3","k4":"v4"}print("dict删除k1前的值: ",dict)dict.pop("k1")print("dict删除k1后的值: ",dict)
[root@webserver test]# cat delete.dict.py
#!/usr/bin/env python3# -*- coding:utf-8 -*-#5、请删除字典中键值对"k1":"v1",并输出删除后的结果dict = {"k1":"v1","k2":"v2","k3":"v3","k4":"v4"}print("dict删除k1前的值: ",dict)dict.pop("k1")print("dict删除k1后的值: ",dict)[root@webserver test]# python3 delete.dict.py dict删除k1前的值: {'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': 'v4'}dict删除k1后的值: {'k2': 'v2', 'k3': 'v3', 'k4': 'v4'}[root@webserver test]#6、请删除字典中键"k5"对应的键值对,如果字典中不存在键"k5",则不报错,返回None
dict = {"k1":"v1","k2":"v2","k3":"v3","k4":"v4"}
print(dict)print("删除不存在的k5,不报错,返回值: ",dict.pop("k5",None))
[root@webserver test]# cat not_dict_k.py
#!/usr/bin/env python3# -*- coding:utf-8 -*-#6、请删除字典中键"k5"对应的键值对,如果字典中不存在键"k5",则不报错,返回Nonedict = {"k1":"v1","k2":"v2","k3":"v3","k4":"v4"}print(dict)print("删除不存在的k5,不报错,返回值: ",dict.pop("k5",None))[root@webserver test]# python3 not_dict_k.py
{'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': 'v4'}删除不存在的k5,不报错,返回值: None[root@webserver test]#7、请获取字典中"k2"对应的值
# 7、请获取字典中"k2"对应的值dict = { "k1":"v1","k2":"v2","k3":"v3","k4":"v4"}print(dict["k2"])
[root@webserver test]# cat get_exist.py
#!/usr/bin/env python3# -*- coding:utf-8 -*-# 7、请获取字典中"k2"对应的值dict = {"k1":"v1","k2":"v2","k3":"v3","k4":"v4"}print(dict["k2"])[root@webserver test]# python3 get_exist.py v2[root@webserver test]#8、请获取字典中"k6"对应的值,如果不存在,则不报错,并且让其返回None。
#8、请获取字典中"k6"对应的值,如果不存在,则不报错,并且让其返回None。dict = { "k1":"v1","k2":"v2","k3":"v3","k4":"v4"}print("dict值: ",dict)print(dict.get("k6",None))
#8、请获取字典中"k6"对应的值,如果不存在,则不报错,并且让其返回None。
dict = {"k1":"v1","k2":"v2","k3":"v3","k4":"v4"}print("dict值: ",dict)print(dict.get("k6",None))[root@webserver test]# python3 get_not_exist.py dict值: {'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': 'v4'}None[root@webserver test]#9、现有dict2 = {"k1":"v11","a":"b"},通过一行操作使dict2 = {"k1":"v1","k2":"v2","k3":"v3","a":"b"}
#9、现有dict2 = {"k1":"v11","a":"b"},通过一行操作使dict2 = {"k1":"v1","k2":"v2","k3":"v3","a":"b"}dict = { "k1":"v1","k2":"v2","k3":"v3"}dict2 = { "k1":"v11","a":"b"}dict2.update(dict)print("dict: ",dict)print("dict2: ",dict2)
[root@webserver test]# cat update_dict_union.py
#!/usr/bin/env python3# -*- coding:utf-8 -*-#9、现有dict2 = {"k1":"v11","a":"b"},通过一行操作使dict2 = {"k1":"v1","k2":"v2","k3":"v3","a":"b"}dict = {"k1":"v1","k2":"v2","k3":"v3"}dict2 = {"k1":"v11","a":"b"}dict2.update(dict)print("dict: ",dict)print("dict2: ",dict2)[root@webserver test]# python3 update_dict_union.py dict: {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}dict2: {'k1': 'v1', 'a': 'b', 'k2': 'v2', 'k3': 'v3'}[root@webserver test]#10、组合嵌套题。写代码,有如下列表,按照要求实现每一个功能
""" lis = [["k",["qwe",20,{"k1":["tt",3,"1"]},89],"ab"]] 10.1、将列表中的数字变成字符串"100"(用两种方法) 10.2、将列表中的字符串"1"变成数字101(用两种方法) """
# 10.1 方法1:print(lis[0][1][2].get("k1")[0].upper())# 10.1 方法2:print(lis[0][1][2].get("k1")[0].swapcase())# 10.2 方法1:lis[0][1][2]["k1"][2] = 101# 10.2 方法2:lis[0][1][2].get("k1")[2]=101
11、
按照要求,实现如下功能:
"""现有一个列表li = [1,2,3,'a',4,'c'],有一个字典(此字典是动态生成的,你并不知道他里面有多少键值对,所以用dic={}模拟字典;现在需要完成这样的操作:如果该字典没有"k1"这个键,那就创建这个"k1"键和对应的值(该键对应的值为空列表),并将列表li中的索引位为奇数对应的元素,添加到"k1"这个键对应的空列表中。如果该字典中有"k1"这个键,且k1对应的value是列表类型。那就将该列表li中的索引位为奇数对应的元素,添加到"k1",这个键对应的值中。"""dic = {}li = [1,2,3,'a',4,'c']if "k1" not in dic: dic.setdefault("k1",[]) for i in li: if li.index(i)%2 == 1: dic["k1"].append(i) else: if type(dic["k1"]) == type([]): for i in li: if li.index(i)%2 == 1: dic["k1"].append(i) else: print("字典K1,VALUE不是列表,无法追加")print(dic)
[root@webserver test]# cat union_dic_lis.py
#!/usr/bin/env python3# -*- coding:utf-8 -*-dic = {}li = [1,2,3,'a',4,'c']if "k1" not in dic: dic.setdefault("k1",[]) for i in li: if li.index(i)%2 == 1: dic["k1"].append(i) else: if type(dic["k1"]) == type([]): for i in li: if li.index(i)%2 == 1: dic["k1"].append(i) else: print("字典K1,VALUE不是列表,无法追加")print(dic)[root@webserver test]# python3 union_dic_lis.py {'k1': [2, 'a', 'c', 2, 2, 'a', 'c', 'a', 2, 'a', 'c', 'c']}[root@webserver test]#