python笔试面试题_视频中(待完善)
2024-08-29 15:57:51
一、选择填空题
1. 用一行代码交换a,b的值
a,b = 1,2
print(a,b)
a,b = b,a
print(a,b)
2. 元祖中有一个元素,有逗号则类型是元祖,无逗号则是远数据类型
tu1 = ()
print(tu1,type(tu1)) # <class 'int'>
tu2 = (1,)
print(tu2,type(tu2)) #(,) <class 'tuple'>
tu3 = ([])
print(tu3,type(tu3)) #[] <class 'list'>
tu4 = ([1],)
print(tu4,type(tu4)) #([],) <class 'tuple'>
3. 列表去重(先转换成集合--集合自动去重--再转换回列表)
li = [1,2,33,33,2,1,4,5,6,6]
set1 = set(li)
print(set1) #{1, 2, 33, 4, 5, 6}
li = list(set1)
print(li) #[1, 2, 33, 4, 5, 6]
二、程序小题
1. 如下代码的运行结果是什么?
for i in range(0,10,-1):
print(i)
运行结果:成功运行,不输出任何结果,不报错
2. 匿名函数——面试题1:print(x)的结果是:24
d =lambda p:p*2
t =lambda p:p*3
x = 2
x = d(x) #
x = t(x) #
x = d(x) #
print(x) #
3. 匿名函数——面试题2:现有两个元祖(('a'),('b')),(('c'),('d')),请使用Python中匿名函数生成列表[{'a':'c'},{'b':'d'}]
解析:和匿名函数配合使用的内置函数:min max filter map sorted
print(list(map(lambda tup:{tup[0]:tup[1]},zip((('a'),('b')),(('c'),('d'))))))
# 上面一行代码等于下面三行,可以实现本题功能
ret = zip((('a'),('b')),(('c'),('d')))
res = map(lambda tup:{tup[0]:tup[1]},ret)
print(list(res)) #数据类型强转可以代替循环打印
4. 匿名函数——面试题3:下面代码的输出是什么(答案:[6, 6, 6, 6]),请修改multipliers的定义来产生期望的结果
def multipliers():
return [lambda x:i*x for i in range(4)]
print([m(2) for m in multipliers()]) #[6, 6, 6, 6] # 请修改multipliers的定义来产生期望的结果
def multipliers():
return (lambda x:i*x for i in range(4))
print([m(2) for m in multipliers()]) #[0, 2, 4, 6]
三、程序大题
最新文章
- Cesium原理篇:4Web Workers剖析(2)
- 长链接转换成短链接(iOS版本)
- 申请使用aws的一些笔记
- Java Swing快速构建窗体应用程序
- [示例]NSDictionary编程题-字典的排序应用(iOS6班)
- DEDE调用频道封面{dede:field:content/}内容方法
- Intellij IDEA 使用Spring-boot-devTools无效解决办法
- CCS3.3入门
- c#教程之事件处理函数的参数
- docker镜像与容器存储结构分析
- mysql logstash 配置
- 安装阿里Java代码规约插件
- java排序算法(八):希尔排序(shell排序)
- springmvc注解驱动
- [再寄小读者之数学篇](2014-04-01 from 2103471050@qq.com 曲线积分)
- 《Head First 设计模式》例子的C++实现(2 观察者模式)
- mongodb 建立索引提示异常:WiredTigerIndex::insert: key too large to index, failing 1483
- javascript篇-知道value值,返回对象中的key值
- Material适配2 - 高级篇
- async/await工作机制探究--NodeJS