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]#
python字典练习题的更多相关文章
- day6.python字典练习题
1.有如下变量(tu是个元组),请实现要求的功能 tu = (“alex”, [11, 22, {“k1”: ‘v1’, “k2”: [“age”, “name”], “k3”: (11,22,33) ...
- Python字典的创建与复制
Python 字典练习题 1.字典的创建 1.1 普通创建 d={'name':'Allen','age':21,'gender':'male'} print(d) # {'name': 'Allen ...
- python入门练习题1
常见python入门练习题 1.执行python脚本的两种方法 第一种:给python脚本一个可执行的权限,进入到当前存放python程序的目录,给一个x可执行权限,如:有一个homework.py文 ...
- Python字典和集合
Python字典操作与遍历: 1.http://www.cnblogs.com/rubylouvre/archive/2011/06/19/2084739.html 2.http://5iqiong. ...
- python 字典排序 关于sort()、reversed()、sorted()
一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...
- python字典中的元素类型
python字典默认的是string item={"browser " : 'webdriver.irefox()', 'url' : 'http://xxx.com'} 如果这样 ...
- python字典copy()方法
python 字典的copy()方法表面看就是深copy啊,明显独立 d = {'a':1, 'b':2} c = d.copy() print('d=%s c=%s' % (d, c)) Code1 ...
- python 字典实现类似c的switch case
#python 字典实现类似c的switch def print_hi(): print('hi') def print_hello(): print('hello') def print_goodb ...
- python字典的常用操作方法
Python字典是另一种可变容器模型(无序),且可存储任意类型对象,如字符串.数字.元组等其他容器模型.本文章主要介绍Python中字典(Dict)的详解操作方法,包含创建.访问.删除.其它操作等,需 ...
随机推荐
- Civil 3D 二次开发 创建Civil 3D 对象—— 01 —— 创建几何空间点
这一小节,我们创建派生于CivilCreateEntityDemo的类CivilCreateCogoPoint,来创建几何空间点. 1 创建类并添加字段及方法 首先在项目资源管理器中向本项目中添加类, ...
- 第二十二天 logging hashlib re 模块
今日内容 logging功能完善的日志模块 re正则表达式模块主要处理字符串匹配 查找 搜索给你一个字符串 要从中找到你需要的东西 爬虫大量使用 hashlib hash算法相关的库 算法怎么算不需要 ...
- POJ 2112-Optimal Milking-二分答案+二分图匹配
此题有多种做法. 使用floyd算法预处理最短路,二分答案,对于每一个mid,如果距离比mid小就连边, 注意把每个机器分成m个点.这样跑一个最大匹配,如果都匹配上就可以减小mid值. 用的算法比较多 ...
- .net mvc 基类属性覆盖问题
一,问题是这样的 我使用.net mvc设计架构时, 为了方便大家的获取UserInfo信息, 把UserInfo对象,放在了自定义的基类BaseController中, 二,问题出现了 我发觉多个人 ...
- 谈谈IE针对Ajax请求结果的缓存
在默认情况下,IE会针对请求地址缓存Ajax请求的结果.换句话说,在缓存过期之前,针对相同地址发起的多个Ajax请求,只有第一次会真正发送到服务端.在某些情况下,这种默认的缓存机制并不是我们希望的(比 ...
- html标题、段落、换行与字符实体
通过 <h1>.<h2>.<h3>.<h4>.<h5>.<h6>,标签可以在网页上定义6种级别的标题.6种级别的标题表示文档的6 ...
- 常用CSS样式速查
writing-mode: vertical-lr; -webkit-writing-mode: vertical-lr; -ms-writing-mode: vertical-lr; 作用 CSS ...
- PHP日志切割shell
#!/bin/bash#此脚本用于自动分割php日志,error.log#每天00:01执行此脚本 将前一天的errors.log重命名为errors-xxxx-xx-xx.log格式,并重新打开日志 ...
- 2018 ICPC 焦作网络赛 E.Jiu Yuan Wants to Eat
题意:四个操作,区间加,区间每个数乘,区间的数变成 2^64-1-x,求区间和. 题解:2^64-1-x=(2^64-1)-x 因为模数为2^64,-x%2^64=-1*x%2^64 由负数取模的性质 ...
- Permissions 0755 for '/home/lonecloud/.ssh/id_rsa' are too open.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! ...