
第1题:列表[1,2,3,4,5],请使用map()函数输出[1,4,9,16,25],并使用列表推导式提取出大于10的数,最终输出[16,25]。
map是python高阶用法,字面意义是映射,它的作用就是把一个数据结构映射成另外一种数据结构。
map用法比较绕,最好是对基础数据结构很熟悉了再使用,比如列表,字典,序列化这些。
map的基本语法如下:
1 |
|
Python 2.x 返回列表。
Python 3.x 返回迭代器。
1 2 3 4 5 6 7 |
|
第2题:设计一个函数返回给定文件名的后缀?
考察字符串操作
rfind() # 右侧字符出现的位置
注意下面的0<pos<2 用法
if ... else用法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
第3题: 这两个参数是什么意思:args,*kwargs?我们为什么要使用它们?
如果我们不确定要往函数中传入多少个参数,或者我们想往函数中以 列表 和 元组 的形式传参数时,那就使要用*args;
如果我们不知道要往函数中传入多少个关键词参数,或者想传入 字典 的值作为关键词参数时,那就要使用**kwargs。
args和kwargs这两个标识符是约定俗成的用法,你当然还可以用tom和*jarry,但是这样显的不专业。
下面是具体的示例: 案例来源互联网搜索,都书写一遍即可掌握
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
|
第4题: 求出 0~n 的所有正整数中数字k(0~9)出现的次数。编程语言不限,Python优先。
举例
例如:k=1,n=12,那么 1 在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]一共出现5次[1,10,11,12]
输入:k=1,n=12
输出:5
解答思路:
统计数字 1 在 [1,10,11,12]出现的次数这非常像Python中统计字符串a在字符串b中出现的次数:
b.count(a)
所以我们将把数字转为字符串来做统计。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
第5题: 如何在python中使用三元运算符?
python中没有其他语言中的三元表达式,不过有类似的实现方法
句法:
三元操作符语法如下,
[on_true] if [expression] else [on_false]
例:
1 2 |
|
如果x <y为真,则返回值为big = x,如果不正确则返回big = y作为结果。