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


   

python字典练习题的更多相关文章

  1. day6.python字典练习题

    1.有如下变量(tu是个元组),请实现要求的功能 tu = (“alex”, [11, 22, {“k1”: ‘v1’, “k2”: [“age”, “name”], “k3”: (11,22,33) ...

  2. Python字典的创建与复制

    Python 字典练习题 1.字典的创建 1.1 普通创建 d={'name':'Allen','age':21,'gender':'male'} print(d) # {'name': 'Allen ...

  3. python入门练习题1

    常见python入门练习题 1.执行python脚本的两种方法 第一种:给python脚本一个可执行的权限,进入到当前存放python程序的目录,给一个x可执行权限,如:有一个homework.py文 ...

  4. Python字典和集合

    Python字典操作与遍历: 1.http://www.cnblogs.com/rubylouvre/archive/2011/06/19/2084739.html 2.http://5iqiong. ...

  5. python 字典排序 关于sort()、reversed()、sorted()

    一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...

  6. python字典中的元素类型

    python字典默认的是string item={"browser " : 'webdriver.irefox()', 'url' : 'http://xxx.com'} 如果这样 ...

  7. python字典copy()方法

    python 字典的copy()方法表面看就是深copy啊,明显独立 d = {'a':1, 'b':2} c = d.copy() print('d=%s c=%s' % (d, c)) Code1 ...

  8. python 字典实现类似c的switch case

    #python 字典实现类似c的switch def print_hi(): print('hi') def print_hello(): print('hello') def print_goodb ...

  9. python字典的常用操作方法

    Python字典是另一种可变容器模型(无序),且可存储任意类型对象,如字符串.数字.元组等其他容器模型.本文章主要介绍Python中字典(Dict)的详解操作方法,包含创建.访问.删除.其它操作等,需 ...

随机推荐

  1. endnote格式

    endnote插入参考文献后的对齐方式和缩进空格 听语音 | 浏览:4780 | 更新:2016-11-28 20:46 1 2 3 4 5 6 7 分步阅读 1.endnote 导入到word参考文 ...

  2. Redux学习(3) ----- 结合React使用

    Redux 和React 进行结合, 就是用React 做UI, 因为Redux中定义了state,并且定义了改变或获取state的方法,完全可以用来进行状态管理,React中就不用保存状态了,它只要 ...

  3. codeforces-div2-449-B

    题意:确定一个回文偶数十进制数字,输入k和q,求前k小的和对q取余的值 解题思路:首先确定一个,第k个回文偶数一定前半段一定是k,比如第12个,这个数就是1221: 代码: #include<i ...

  4. Mysql 查看连接数,状态 最大并发数(赞)

    Mysql 查看连接数,状态 最大并发数(赞)   -- show variables like '%max_connections%'; 查看最大连接数 set global max_connect ...

  5. jquery 循环绑定click的问题

    之前循环数据,通过live绑定click, 发觉每个click绑定的链接参数都是一样的. 后来改用 直接的 click绑定,就好了. $.each(ship.PPRList, function (i, ...

  6. 运行os.fork()报AttributeError: module 'os' has no attribute 'fork'

    现象 报错代码 def handle(s, c, db): pid = os.fork() if pid == 0: s.close() do_child(c, db) sys.exit() else ...

  7. nginx+php使用open_basedir限制站点目录防止跨站

    以下三种设置方法均需要PHP版本为5.3或者以上.方法1)在Nginx配置文件中加入 fastcgi_param PHP_VALUE "open_basedir=$document_root ...

  8. 【NOI2003——搜索+二分图匹配优化】

    A 文本编辑器 无旋treap真好看 B 木棒游戏 暴力神仙题 C 数据生成器 树的直径两端点为Y, Z D 智破连环阵 搜索+二分图匹配优化 第一次写欸 列一下 void dfs (int y,in ...

  9. Apache Ignite上的TensorFlow

    任何深度学习都是从数据开始的,这是关键点.没有数据,就无法训练模型,也无法评估模型质量,更无法做出预测,因此,数据源非常重要.在做研究.构建新的神经网络架构.以及做实验时,会习惯于使用最简单的本地数据 ...

  10. [SCOI2005]王室联邦(构造)

    “余”人国的国王想重新编制他的国家.他想把他的国家划分成若干个省,每个省都由他们王室联邦的一个成员来管理. 他的国家有n个城市,编号为1..n.一些城市之间有道路相连,任意两个不同的城市之间有且仅有一 ...