5道练习题,测试你掌握 python 进阶语法-lambda函数了吗? | Python技能树征题

Posted 梦想橡皮擦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5道练习题,测试你掌握 python 进阶语法-lambda函数了吗? | Python技能树征题相关的知识,希望对你有一定的参考价值。

本篇博客主要为 https://bbs.csdn.net/skill/python 频道练习题模块补充题目,暂定每天提供 5 or 6 道测试题,后面可能会更多哦~。

本篇博客对【进阶语法】→ lambda 函数 进行出题。

以下题目,默认将正确答案,放置在选项 A 位置

知识点:python 进阶语法-lambda 函数

第 1 题:

题目难度:1 星
题干(问题描述):
使用 sorted 函数 + lambda 函数实现对下述变量的排序,按照每个元组的第二项排序:

tuples = [(1, 'c'), (2, "d"), (3, 'a'), (4, 'b')]

选项 A:

tuples = [(1, 'c'), (2, "d"), (3, 'a'), (4, 'b')]
ret = sorted(tuples, key=lambda x: x[1])
print(ret)

选项 B:

tuples = [(1, 'c'), (2, "d"), (3, 'a'), (4, 'b')]
ret = sorted(tuples, key=lambda x: x[0])
print(ret)

选项 C:

tuples = [(1, 'c'), (2, "d"), (3, 'a'), (4, 'b')]
ret = sorted(tuples, key=lambda x: x)
print(ret)

选项 D:

tuples = [(1, 'c'), (2, "d"), (3, 'a'), (4, 'b')]
ret = sorted(tuples, lambda x: x)
print(ret)

正确答案:A

第 2 题:

题目难度:1 星
将下述两个列表对应位置进行求和计算,要求使用 map 函数+lambda 函数。

my_list1 = [1,2,3,4]
my_list2 = [5,6,7,8]

选项 A:

my_list1 = [1, 2, 3, 4]
my_list2 = [5, 6, 7, 8]

ret = list(map(lambda x: x[0] + x[1], zip(my_list1, my_list2)))
print(ret)

选项 B:

my_list1 = [1, 2, 3, 4]
my_list2 = [5, 6, 7, 8]

ret = list(map(lambda x: x[0] - x[1], zip(my_list1, my_list2)))
print(ret)

选项 C:

my_list1 = [1, 2, 3, 4]
my_list2 = [5, 6, 7, 8]

ret = list(map(lambda x: x[0] + x[1], (my_list1, my_list2)))
print(ret)

选项 D:

my_list1 = [1, 2, 3, 4]
my_list2 = [5, 6, 7, 8]

ret = list(map(lambda x: x[0] * x[1], (my_list1, my_list2)))
print(ret)

正确答案:A

第 3 题:

题目难度:2 星
题干(问题描述):
编写代码,实现对下述列表偶数位置的数字实现乘方操作,在对得到的新列表求和,要求使用 map 函数与 lambda 函数。

my_list1 = [1, 3, 5, 7, 9, 11, 13]

选项 A:

my_list = [1, 3, 5, 7, 9, 11, 13]

ret = sum(list(map(lambda x: x ** 2, my_list[1::2])))
print(ret)

选项 B:

my_list = [1, 3, 5, 7, 9, 11, 13]

ret = sum(list(map(lambda x: x + 2, my_list[1::2])))
print(ret)

选项 C:

my_list = [1, 3, 5, 7, 9, 11, 13]

ret = sum((map(lambda x: x + 2, my_list[1::2])))
print(ret)

选项 D:

my_list = [1, 3, 5, 7, 9, 11, 13]

ret = count(list(map(lambda x: x + 2, my_list[1::2])))
print(ret)

正确答案:A

第 4 题:

题目难度:2 星
题干(问题描述):
通过 sorted 函数与 lambda 函数,将下述列表中的数字 1 放置到列表末尾。

my_list = [1, 3, 5, 7, 1, 11, 13]

选项 A:

my_list = [1, 3, 5, 7, 1, 11, 13]

ret = sorted(my_list, key=lambda x: True if x == 1 else False)
print(ret)

选项 B:

my_list = [1, 3, 5, 7, 1, 11, 13]

ret = sorted(my_list, key=lambda x: False if x == 1 else True)
print(ret)

选项 C:

my_list = [1, 3, 5, 7, 1, 11, 13]

ret = sorted(my_list, key=lambda x: True if x != 1 else False)
print(ret)

选项 D:

my_list = [1, 3, 5, 7, 1, 11, 13]

ret = sorted(my_list, key=lambda x: True if x += 1 else False)
print(ret)

正确答案:A

第 5 题:

题目难度:2 星
题干(问题描述):
请问下述代码的运行结果是?

my_list = [1, 3, 5]
ret = (lambda x, y, z: x + y + z if x > 5 else x - y - z)(*my_list)
print(ret)

选项 A:

-7

选项 B:

9

选项 C:

None

选项 D:

异常错误

正确答案:A

试题仓库地址如下:

https://codechina.csdn.net/hihell/question

以上是关于5道练习题,测试你掌握 python 进阶语法-lambda函数了吗? | Python技能树征题的主要内容,如果未能解决你的问题,请参考以下文章

python 进阶语法-异常捕获预处理 5 道练习题 | Python技能树征题

Python语法学的咋样了确定不看看,这一百道习题?(41-45)

Python语法学的咋样了确定不看看,这一百道习题?(41-45)

Python语法学的咋样了,确定不看看这100道习题?(前20道)

Python语法学的咋样了,确定不看看这100道习题?(21-40)

python 入门教程之每日 5 or 6 道题,列表推导式篇 | Python 技能树题库