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]#

 





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM