python字典操作题_python字典练习题

python字典练习题

写代码:有如下字典按照要求实现每一个功能dict = {"k1":"v1","k2":"v2","k3":"v3"}1、请循环遍历出所有的key

dict = {"k1":"v1","k2":"v2","k3":"v3"}

#1、请循环遍历出所有的key

for k in dict:

print(k)

[root@webserver test]# cat loop_dict_keys.py

#!/usr/bin/env python3

# -*- coding:utf-8 -*-

#1、请循环遍历出所有的key

dict = {"k1":"v1","k2":"v2","k3":"v3"}

for k in dict:

print(k)

[root@webserver test]# python3 loop_dict_keys.py

k1

k2

k3

[root@webserver test]#

2、请循环遍历出所有的value

#2、请循环遍历出所有的value

for k in dict:

print(dict[k])

[root@webserver test]# cat loop_dict_values.py

#!/usr/bin/env python3

# -*- coding:utf-8 -*-

#2、请循环遍历出所有的value

dict = {"k1":"v1","k2":"v2","k3":"v3"}

for k in dict:

print(dict[k])

[root@webserver test]# python3 loop_dict_values.py

v1

v2

v3

[root@webserver test]#

3、请循环遍历出所有的key和value

#3、请循环遍历出所有的key和value

for k in dict:

print(k,dict[k])

[root@webserver test]# cat loop_dict_kv.py

#!/usr/bin/env python3

# -*- coding:utf-8 -*-

#1、请循环遍历出所有的key

dict = {"k1":"v1","k2":"v2","k3":"v3"}

for k in dict:

print(k,dict[k])

[root@webserver test]# python3 loop_dict_kv.py

k1 v1

k2 v2

k3 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",则不报错,返回None

dict = {"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]#

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值