【python基础语法】第7天作业练习题
import keyword
'''
# 第一题:简单题
1、什么是全局变量?
2、什么是局部变量?
3、函数内部如何修改全局变量(如何声明全局变量 )?
4、写出已经学过的所有python关键字,分别写出用途?
# 第二题:数据转换
现在有以下数据, li1 = ["{'a':11,'b':2}", "[11,22,33,44]"]
需要转换为以下格式: li1 = [{'a': 11, 'b': 2}, [11, 22, 33, 44]]
请封装一个函数,按上述要求实现数据的格式转换
# 第三题:数据转换
# 有一组用例数据如下:
cases = [
['case_id', 'case_title', 'url', 'data', 'excepted'],
[1, '用例1', 'www.baudi.com', '001', 'ok'],
[4, '用例4', 'www.baudi.com', '002', 'ok'],
[2, '用例2', 'www.baudi.com', '002', 'ok'],
[3, '用例3', 'www.baudi.com', '002', 'ok'],
[5, '用例5', 'www.baudi.com', '002', 'ok'],
] # 需要转换为以下格式
res1 = [
{'case_id': 1, 'case_title': '用例1', 'url': 'www.baudi.com', 'data': '001', 'excepted': 'ok'},
{'case_id': 4, 'case_title': '用例4', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'},
{'case_id': 2, 'case_title': '用例2', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'},
{'case_id': 3, 'case_title': '用例3', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'},
{'case_id': 5, 'case_title': '用例5', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'}
]
# 要求:封装一个函数,完成上述数据转换的功能,并且将case_id大于3的用例数据过滤出来,得到如下结果
res = [
{'case_id': 4, 'case_title': '用例4', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'},
{'case_id': 5, 'case_title': '用例5', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'}
'''
'''
# 第一题:简单题
1、什么是全局变量?
直接定义在文件中的变量,叫做全局变量,在该文件任何地方都能够访问
2、什么是局部变量?
定义在函数内部的变量叫做局部变量
3、函数内部如何修改全局变量(如何声明全局变量 )?
声明全局变量:
global关键字:将函数内部的局部变量转换为全局变量
修改全局变量:
使用nonlocal可以在嵌套函数内部修改外部函数的局部变量的值
"""
"""
# 第二题:数据转换
现在有以下数据, li1 = ["{'a':11,'b':2}", "[11,22,33,44]"]
需要转换为以下格式: li1 = [{'a': 11, 'b': 2}, [11, 22, 33, 44]]
请封装一个函数,按上述要求实现数据的格式转换
'''
# 第二题
data = ["{'a':11,'b':2}", "[11,22,33,44]"]
def work2():
new_data = []
for i in data:
res = eval(i)
new_data.append(res)
return new_data
li1 = work2()
print(li1) # 第三题
cases = [
['case_id', 'case_title', 'url', 'data', 'excepted'],
[1, '用例1', 'www.baudi.com', '', 'ok'],
[4, '用例4', 'www.baudi.com', '', 'ok'],
[2, '用例2', 'www.baudi.com', '', 'ok'],
[3, '用例3', 'www.baudi.com', '', 'ok'],
[5, '用例5', 'www.baudi.com', '', 'ok'],
] def work3(cases):
# 创建一个新列表
new_cases = []
# 获取新数据的key
title = cases[0]
# 遍历所有的数据
for data in cases[1:]:
# 将遍历的数据和key进行聚合打包,并转换为字典
c = dict(zip(title,data))
print(c)
# 判断转换后的数据,放到信列表中
if c["case_id"] > 3:
new_cases.append(c)
# 返回所有转换之后的结果
return new_cases
res = work3(cases)
print(res) # 方式二:
def work3(cases):
# 创建一个新列表
new_cases = []
# 获取新数据的key
title = cases[0]
# 遍历所有的数据
for data in cases[1:]:
# 将遍历的数据和key进行聚合打包,并转换为字典
c = dict(zip(title,data))
# 将转换后的数据,放到新列表中
new_cases.append(c)
# 使用fitter过滤器结果
# lambda后面跟函数的匿名参数x说明需要一个参数
# 冒号后面是匿名函数的返回值,返回参数
# new_cases,是需要传递的数据,字典参数
def func(x):
return x["case_id"] > 3
result = filter(func,new_cases)
# result = filter(lambda x:x["case_id"]>3,new_cases)
return result
【python基础语法】第7天作业练习题的更多相关文章
- python基础语法、数据结构、字符编码、文件处理 练习题
考试范围 '''1.python入门:编程语言相关概念2.python基础语法:变量.运算符.流程控制3.数据结构:数字.字符串.列表.元组.字典.集合4.字符编码5.文件处理''' 考试内容 1.简 ...
- python之最强王者(2)——python基础语法
背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...
- Python 基础语法(三)
Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...
- Python 基础语法(四)
Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...
- Python 基础语法(二)
Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...
- Python 基础语法
Python 基础语法 Python语言与Perl,C和Java等语言有许多相似之处.但是,也存在一些差异. 第一个Python程序 E:\Python>python Python 3.3.5 ...
- 吾八哥学Python(四):了解Python基础语法(下)
咱们接着上篇的语法学习,继续了解学习Python基础语法. 数据类型大体上把Python中的数据类型分为如下几类:Number(数字),String(字符串).List(列表).Dictionary( ...
- python学习第五讲,python基础语法之函数语法,与Import导入模块.
目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...
- python学习第四讲,python基础语法之判断语句,循环语句
目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...
- Python基础语法(三)
Python基础语法(三) 1. 数值型数据结构 1.1 要点 在之前的博客也有提到,数值型数据结构在这里就不过多介绍了.在这里提及一些需要知道的知识点. int.float.complex.bool ...
随机推荐
- 内网IP的解释
https://baike.baidu.com/item/%E5%86%85%E7%BD%91ip/8881186?fr=aladdin
- vue计算属性和方法的区别
计算属性: <div id="example"> <p>{{ now }}"</p> </div> <script& ...
- 如何使用jmeter做一个功能的性能测试
一.为什么又再次写类似的文章? 在博客园和公号写文章,已经快两年了,所以自然在公号和博客园都能联系到我的. 也就是几天前,有个人加我微信,对于总有人加我好友,我已经觉得不奇怪了,为什么呢? 加我好友的 ...
- 那些 JavaScript 自带的奇妙 Bug
米娜桑,哦哈哟~ 本章讲解关于 JavaScript 奇妙的 Bug,与其说是Bug,不如说是语言本身隐藏的奥秘.接下来就看看可能会影响到我们编程的那些Bug吧. typeof null === &q ...
- Java properties文件集
log4j: log4j.rootLogger=info, console, log, error ###Console ### log4j.appender.console = org.apache ...
- ASP.NET Core on K8S 入门学习系列文章目录
一.关于这个系列 自从2018年底离开工作了3年的M公司加入X公司之后,开始了ASP.NET Core的实践,包括微服务架构与容器化等等.我们的实践是渐进的,当我们的微服务数量到了一定值时,发现运维工 ...
- POJ_1182_并查集
http://poj.org/problem?id=1182 pre构建有关系的号码的树,rel保存当前号码与根的关系,0表示相同,1表示根吃当前,2表示当前吃根. 代码中的更新公式可以先把各种情况枚 ...
- 准备 Python3 和 Python 虚拟环境
1.安装依赖包 yum -y install wget gcc epel-release git 2.安装 Python3.6 yum -y install python36 python36-dev ...
- apache 负载均衡
此次使用mod_proxy的方式来实现的,因为在Apache2以上的版本中已经集成了,因此不需要再另行安装和配置了. 只需要把注释去掉即可,去掉以下模块的注释: LoadModule proxy_mo ...
- LVS服务原理以及搭建
一.LVS简介 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统,目的在于使用集群技术和Linux操作系统实现一个高性能.高可用的服务器.它 ...