Python----一些面试题
2024-10-21 09:54:18
1.写出以下结果
print(1<2 and 2==2)
print(1<2 and 2==1)
print(1>2 and 2==2)
结果:
True
False
False
解:
18. xrange和range的区别?
答案: 这个题的环境应该放在python2.x中,因为python3中将xrange和range合并为了range
在python2中 range的返回值为list,生成一个序列, xrange则是作为一个生成器.相对来说xrange比range性能优化很多.
在python3中 range的返回值为range对象 <class 'range'>
39. a = range(10),a[::-3] 的结果是_____.
答案: range(9, -1, -3)
41.将列表内的元素,根据位数合并成字典
lst = [1,2,4,16,32,64,128,256,512,1024,32679,65536,4294967296] # 要求输出为
{
1: [1, 2, 4],
2: [16, 32, 64],
3: [128, 256, 512],
4: [1024],
5: [32679, 65536],
6: [4294967296]
}
解:
dic = {}
for i in range(1,7):
dic[i] = [] print(dic)
for el in lst:
c = 0
a = el
while a != 0 and c <= 5:
a = a // 10
c += 1
print(c)
dic[c].append(el)
print(dic)
这个题判断位数时有两种思路,我上面用的是将数字// floor除以10,计算除的次数,次数就是这个数字的位数.另一种思路是将数字转化为str,用len()来计算字符串长度来判断位数,这里就不详细写出第二种方式的解法了
42.请尽量用简洁的方法将二维数组转换成一维数组
例:转换前 lst = [[1,2,3],[4,5,6],[7,8,9]] , 转换后 lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
解法:
lst = [ c for el in lst for c in el]
print(lst)
43.将列表按下列规则排序,补全代码 sorted(lst, key=lambda x:__)
1.正数在前负数在后
2.正数从小到大
3.负数从大到小
例:
排序前 [0,4,5,7,-2,-5,-8]
排序后 [0,4,5,7,-2,-5,-8]
答案: sorted(lst,key=lambda x:(x<0,abs(x)))
最新文章
- 直线的参数方程ABC
- SpringMVC与MyBatis整合之日期格式转换
- The Nine Indispensable Rules for HW/SW Debugging 软硬件调试之9条军规
- 学习bootstrap遇到的问题--001 关于bootstrap中类.disabled不禁用默认行为
- Floyd算法(一)之 C语言详解
- winform 窗体大小变化时,如何设置使控件一起按照比例变大
- ubuntu14操作系统chrome标签和书签乱码解决
- Yii2 关于yii\db\Connection::open耗时很久的问题(1000ms左右)
- asp.net mvc 下拉列表
- 高级软件工程2017第3次作业——结对项目:四则运算题目生成程序(基于GUI)
- Golang的md5 hash计算
- python面向对象编程 -- 封装、继承
- 设计模式之单例模式及应用demo
- Python之Simple FTP (一)
- 解决ubuntu下firefox的flash全屏后不能恢复问题 ZT
- Sql Server数据库资料收集
- SQL相关语句
- 结合 spring 使用阿里 Druid 连接池配置方法
- 【nodeJs】nodejs
- <;a>;标签实现链接和锚点的区别