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天作业练习题的更多相关文章

  1. python基础语法、数据结构、字符编码、文件处理 练习题

    考试范围 '''1.python入门:编程语言相关概念2.python基础语法:变量.运算符.流程控制3.数据结构:数字.字符串.列表.元组.字典.集合4.字符编码5.文件处理''' 考试内容 1.简 ...

  2. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  3. Python 基础语法(三)

    Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...

  4. Python 基础语法(四)

    Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...

  5. Python 基础语法(二)

    Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...

  6. Python 基础语法

    Python 基础语法 Python语言与Perl,C和Java等语言有许多相似之处.但是,也存在一些差异. 第一个Python程序 E:\Python>python Python 3.3.5 ...

  7. 吾八哥学Python(四):了解Python基础语法(下)

    咱们接着上篇的语法学习,继续了解学习Python基础语法. 数据类型大体上把Python中的数据类型分为如下几类:Number(数字),String(字符串).List(列表).Dictionary( ...

  8. python学习第五讲,python基础语法之函数语法,与Import导入模块.

    目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...

  9. python学习第四讲,python基础语法之判断语句,循环语句

    目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...

  10. Python基础语法(三)

    Python基础语法(三) 1. 数值型数据结构 1.1 要点 在之前的博客也有提到,数值型数据结构在这里就不过多介绍了.在这里提及一些需要知道的知识点. int.float.complex.bool ...

随机推荐

  1. CTF--HTTP服务--SQL注入-X-Forwarded-For报文头

    开门见山 1. 扫描靶场ip,发现PCS 192.168.31.196 2. 扫描靶场开放服务信息 3. 扫描靶场全部信息 4. 探测敏感信息 5. 查看靶场80端口的主界面 6. 使用AVWS工具进 ...

  2. Spring注解开发系列Ⅰ--- 组件注册(上)

    传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点:1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文件 ...

  3. Java:多线程概述与创建方式

    目录 Java:多线程概述与创建方式 进程和线程 并发与并行 多线程的优势 线程的创建和启动 继承Thread类 start()和run() 实现Runnable接口 实现Callable接口 创建方 ...

  4. 024.Python模块OS模块

    一 OS模块 对系统进行操作 1.1 popen 可以把运行的结果,这个字符串转化成utf-8这样的编码格式在进行输出 import os res = os.popen("ifconfig& ...

  5. NanUI | NanUI 0.7 正式发布

    2020年2月10日 NanUI 0.7版正式发布. 回顾过去的一年,浑浑噩噩.生活上.工作上太多的压力和变数让我身心疲惫,目睹亲人被病痛的摧残的痛苦,无法释怀的生死别离令我沉沦许久:公司业务的变动, ...

  6. HDU_4496_逆向并查集

    http://acm.hdu.edu.cn/showproblem.php?pid=4496 逆向并查集,先读取,然后从后向前join每次保存答案即可. #include<iostream> ...

  7. Codeforces_540_C

    http://codeforces.com/problemset/problem/540/C 简单bfs,注意结束条件. #include<iostream> #include<cs ...

  8. python批量删除子文件夹中的空子文件夹

    例如A文件夹下有许多子文件夹,我需要获得的是子文件夹中的图片,但是现在子文件夹中不光有图片,还混入了空的文件夹(在使用OpenImages工具箱的时候,按照检索的方式下载的图片文件中是带有label的 ...

  9. ssh_exchange_identification: read: Connection reset

    垃圾服务器,真的佛了,明明服务器从装的系统,连接半天连接不上,但是别人的电脑就可以,要使用xshell和fileshell链接,按照软件报的错误来修复的话,根本解决不了问题,还是得命令行ssh roo ...

  10. 【C++】应用程序无法正常启动0xc000007b

    在Windows平台编程时,或运行应用程序时,偶尔会遇到“应用程序无法正常启动0xc000007b”或“缺少***.dll”的问题, 首先需要考虑的就是程序相关联的dll有没有放到系统环境中,dll通 ...