Python练习题14
1.列举Python2与Python3之间的区别
- python2的默认编码是ASCII,python3的默认编码是Unicode
- python2中range返回的是列表,xrange返回的是可迭代对象,而Python3中range返回的是可迭代对象
- python2中整数分为int 和 lang,python3中统一归为int
- python2不等于可以用!= 或者<>表示,在python3中只能用!=
- python2 使用print语句,python3中使用print()函数
- python2 输入用row_input() ,python3用input()
2.有整数3.14 如何去掉小数位? 请用一行代码实现不能使用切片
print(int(3.14))
print('%.0f' % 3.14)
3.字符串和列表如何互相转换?
s='123'
l = ['a', 'b', 'c']
s1 = ''.join(l)
print(s1) # abc #----->列表转字符串 “ ”.join()
print(list(s)) #------>字符串转列表 list(str)
4… 及 pass在Python中是否是占位 ?
是,为了程序的完成性,而又不能立即实现其功能或者不需要实现其功能,故采用pass或者…语句
5.a=10; b=20 用一行代码实现a,b数值交换:
a, b = b, a
6.读代码写结论为什么?
result = 1.2-1 #----->0.199999
while True:if round(result,1) == 0.2: #round(0.19999,1) j结果为0.2print( 'hi guys!')else:print( False)
无限循环打印hi guys! round()函数的作用是四舍五入,
7、读代码写结果 如下代码输出的结果是?
def Generator():value = yield 1yield value
gen = Generator()
print(gen.send(1))
答案是报错,因为当生成器第一次启动时,无法接收send传过来的值
8.列举你了解的5个模块并简述其作用
- time模块,时间相关的
- pickle模块,序列化相关
- re模块, 正则相关
- os模块,系统相关
- sys模块,Python解释器相关
- hashlib模块,加密相关
9.闭包函数有什么特点,应用场景?
10.解释一下什么是迭代器,你在代码中如何获得一个迭代器?
Python为了给类似集合这种不支持索引的数据类型,却能够像有索引一样方便取值,
就为一些对象内置__iter__方法来摆脱对对象对索引的依赖。即如果这个对象具有__iter__方法, 则成为可迭代对象。 可迭代对象执行__iter__方法返回的结果称为迭代器
from collections import Iterable, Iterator
s = 'abc'
s1 = s.__iter__()
print(s1)
print(isinstance(s1, Iterable))
print(isinstance(s1, Iterator))
11.迭代器如何取值?迭代器的好处?
迭代器的特点:
重复。 下一次的重复是基于上一次结果。
使用迭代器的优点:
1.提供一种不依赖于索引的取值方式。迭代器通过__next__方法取值
2.惰性计算,节省内存空间。迭代器每执行__next__方法一次,则“动作”一次,返回一个元素。就像懒驴似的,我们踹一脚,这懒驴(迭代器)才走一步,不踹不动弹。
那么迭代器的缺点也很明显:
1.取值不如索引方便。要每次执行__next__方法取值。
2.迭代过程不可逆。也就是说这个懒驴(迭代器的迭代过程)走的是一条通往悬崖的路,每次执行__next__方法返回结果的同时都会向悬崖靠近一步。直到跳下悬崖(迭代完毕,抛出StopIteration异常)。所以说,迭代过程是无法回头的,只能一条路走到黑。
3.无法获取迭代器的长度。因为可迭代对象通过__iter__方法返回的是迭代器(内存地址)。所以,我们无法获取这个迭代器内的元素有多少
12.写⼀个⽣成器,⾥⾯的元素是20以内所有奇数的平⽅减⼀
a=(i**2-1 for i in range(21) if i%2==1 )
print(list(a))
13.请构建⼀个⽣成器,⾥⾯的元素是1,4,9,16,25,36,49。
a=(i**2 for i in range(1,8))
print(list(a))
14.写函数(lambda)实现字符串翻转,如:V = ‘oldboy’ (请⽤最简的⽅式)
V ='oldboy'
print(set(map(lambda x:V[::-1],V)))
15.现有列表alist = [3,1,-4,-2],按照元素的绝对值⼤⼩进⾏排序并将得到列表的每个元素求平⽅形成⼀个新的列表
alist = [3,1,-4,-2]
print(list(map(lambda x:x**2,sorted(alist,key= lambda x:abs(x)))))
16.alist = [{“a”:5,”b”:2},{“a”:2,”b”:8},{“a”:8,”b”:2}]请写出以键a的值对alist进⾏排序的表达式
alist = [{'a': 5, 'b': 2}, {'a': 2, 'b': 8}, {'a': 8, 'b': 2}]
print(sorted(alist,key=lambda x:int(x['a'])))
17.有⼀个列表l1 = [‘alex’, ‘WuSir’, ‘⽼男孩’, ‘太⽩’]⽤列表推导式将其构造成这种列表
['alex0', 'WuSir1', '⽼男孩2', '太⽩3']
l1 = ['alex', 'WuSir', '老男孩', '太白']
print(list(map(lambda x:x+str(l1.index(x)),l1)))
18.现在有两元祖((‘a’),(‘b’)),((‘c’),(‘d’)),请使⽤python中的匿名函数和内置函数⽣成列表
t1=(('a'),('b'))
t2=(('c'),('d'))
print(list({k:v} for k,v in zip(t1,t2)))
该习题转载自: https://www.cnblogs.com/pythonz/p/9985546.html
Python练习题14相关推荐
- RUNOOB python练习题 14
用来练手的python 练习题其十四,原链接 : python练习实例14 题干 : 将一个正整数分解质因数.例如:输入90,打印出90=233*5. 拿到题目,我们就可以看出,首先我们需要一个函数来 ...
- 【Python自动化测试14】Python自动化测试基础与进阶练习题
文章目录 一.前言 二.Python练习题 2.1 Python基础语法规则 2.2 字符串相关练习题 2.3 列表与元组相关练习题 2.4 字典与数据类型练习题 2.5 流程控制语句练习题 2.6 ...
- Python练习题 001:4个数字求不重复的3位数
听说做练习是掌握一门编程语言的最佳途径,那就争取先做满100道题吧. ----------------------------------------------------------------- ...
- python练习题(基础篇2)
本博文源于<程序设计竞赛入门>,旨在对python练习题进行总结: 一.选择题 1.以下属于合法的Python语言用户标识符是( ) A.a.123 B.a_b C.def D.1Max ...
- python练习题答案,python练习题-答案
<python练习题-答案>由会员分享,可在线阅读,更多相关<python练习题-答案(16页珍藏版)>请在人人文库网上搜索. 1.Python练习题库By 郑红波 2017- ...
- python练习题__列表
python练习题__列表 (1).访问列表中第一个元素的值 题 目: mlist1 = ['Adversity Awake:', 'Cross ', 'the', 'stars', 'over', ...
- python编程输入标准-Python练习题,,T1.编写程序,输入
Python练习题,,T1.编写程序,输入 T1.编写程序,输入一个自然数字符串,然后输出各位数字之和. a=input("输入一串数字:") b=0 for i in a: b= ...
- 数组元素前移后移 RUNOOB python练习题 68
用来练手的python练习题,原题链接: python练习实例68 题干: 有 n 个整数,使其前面各数顺序向后移 m 个位置,最后 m 个数变成最前面的 m 个数 代码如下: import nump ...
- Python打印杨辉三角形 RUNOOB python练习题61
用来练手的python练习题,原题链接: python练习实例61 题干: 打印出杨辉三角形 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 ...
最新文章
- Android Android应用开发实战 学习总结杂项
- 【干货书】Python金融分析,714页pdf掌握数据驱动金融
- ICLR认知科学@AI workshop一览
- Code128 Fontware条码控件介绍
- 当薪资倒挂成为常态,然后呢?
- Vim的一些使用技巧
- apache 创建多端口监听
- xamarin ios html5 video.js 无法播放
- 经struts2中的action后,jsp中css失效的问题
- JSF开发人员应该知道的5种有用方法
- CSS3那些不为人知的高级属性
- 无法解析的外部符号,无法解析的外部命令
- NBU计算机专业期末考试记录
- 【华为云技术分享】《跟唐老师学习云网络》—ARP你在哪
- Windows内核编程(二)-第一个内核程序
- 学习,不仅要知其然,更要知其所以然。
- java byte 文件大小_java byte文件大小
- android 数据线有几种,安卓数据线有几种
- java继承和接口的区别_java中的接口与继承的区别
- 计算机辅助工程试卷,《计算机辅助工程软件(UG)》试卷10–2答.doc