python 入门教程之每日 5 or 6 道题,列表推导式篇 | Python 技能树题库
Posted 梦想橡皮擦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 入门教程之每日 5 or 6 道题,列表推导式篇 | Python 技能树题库相关的知识,希望对你有一定的参考价值。
本篇博客主要为 https://bbs.csdn.net/skill/python 频道练习题模块补充题目,暂定每天提供 5 or 6 道测试题,后面可能会更多哦~。
本篇博客对【进阶语法】→【列表推导式】进行出题。
在橡皮擦的滚雪球学 Python 第二季中,有专门针对该知识点的讲解,希望学习的同学可以提前查阅。
《列表推导式与字典推导式,滚雪球学 Python》
以下题目,默认将正确答案,放置在选项 A 位置
知识点:python 列表推导式
第 1 题:
题目难度:1 星
题干(问题描述):
以下哪个列表推导式能实现与下述 for
循环一样的效果?
my_numbers = [3, 1, 5, 2, 4]
result = []
for i in range(len(my_numbers)):
result.append(my_numbers[i] ** 2)
print(result)
选项 A:
print([i ** 2 for i in [3, 1, 5, 2, 4]])
选项 B:
print((i ** 2 for i in [3, 1, 5, 2, 4]))
选项 C:
print([i * 2 for i in [3, 1, 5, 2, 4]])
选项 D:
print([i ** 2 for i in range[3, 1, 5, 2, 4]])
正确答案:A
第 2 题:
题目难度:1 星
题干(问题描述):
请选出能将下述列表中每一项都扩大一倍的列表推导式
[1,2,3,4,5,6,7,8,9,10]
选项 A:
my_list = [1,2,3,4,5,6,7,8,9,10]
print([i*2 for i in my_list])
选项 B:
my_list = [1,2,3,4,5,6,7,8,9,10]
print([i+=1 for i in my_list])
选项 C:
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print([i*1 for i in my_list])
选项 D:
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print({i*2 for i in my_list})
正确答案:A
第 3 题:
题目难度:2 星
题干(问题描述):
请选择出与下述代码等价的列表推导式代码
result = []
for x in range(1, 5):
for y in range(6, 10):
result.append((x, y))
print(result)
选项 A:
print([(x, y) for x in range(1, 5) for y in range(6, 10)])
选项 B:
print([(x, y) for x in range(5) for y in range(10)])
选项 C:
print([x, y for x in range(1, 5) for y in range(6, 10)])
选项 D:
print(((x, y) for x in range(1, 5) for y in range(6, 10)))
正确答案:A
第 4 题:
题目难度:2 星
题干(问题描述):
请使用列表推导式筛选出下述列表中 3 或者 7 的倍数。
my_list = list(range(1,100))
选项 A:
print([i for i in my_list if i % 3 == 0 or i % 7 == 0])
选项 B:
print([i for i in my_list if i % 3 == 0 and i % 7 == 0])
选项 C:
print([i for i in my_list if i / 3 == 0 or i / 7 == 0])
选项 D:
print([i for i in my_list if i / 3 == 0 and i / 7 == 0])
正确答案:A
第 5 题:
题目难度:2 星
题干(问题描述):
通过列表推导式,删除下述列表中的重复元素。
my_list = [1, 1, 2, 2, 2, 3, 3, 3, 4, 4]
选项 A:
my_list = [1, 1, 2, 2, 2, 3, 3, 3, 4, 4]
ret = []
temp = [ret.append(i) for i in my_list if i not in ret]
print(ret)
选项 B:
my_list = [1, 1, 2, 2, 2, 3, 3, 3, 4, 4]
ret = []
temp = [ret.append(i) for i in my_list if i in ret]
print(ret)
选项 C:
my_list = [1, 1, 2, 2, 2, 3, 3, 3, 4, 4]
ret = []
temp = [ret+i for i in my_list if i in ret]
print(ret)
选项 D:
my_list = [1, 1, 2, 2, 2, 3, 3, 3, 4, 4]
temp = [temp.append(i) for i in my_list if i in temp]
print(temp )
正确答案:A
第 6 题:
题目难度:2 星
题干(问题描述):
通过列表推导式,将下述大列表拆分成小列表
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
# 如每组3个元素,预期结果 [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
选项 A:
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
# 不做非数字验证
item_count = int(input("请输入子列表元素数:"))
temp = [my_list[i:i + item_count] for i in range(0, len(my_list), item_count)]
print(temp)
选项 B:
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
# 不做非数字验证
item_count = int(input("请输入子列表元素数:"))
temp = [my_list[i:i + item_count] for i in range(0, len(my_list))]
print(temp)
选项 C:
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
# 不做非数字验证
item_count = int(input("请输入子列表元素数:"))
temp = [my_list[i:item_count] for i in range(0, len(my_list))]
print(temp)
选项 D:
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
# 不做非数字验证
item_count = int(input("请输入子列表元素数:"))
temp = [my_list[i] for i in range(0, len(my_list))]
print(temp)
正确答案:A
试题仓库地址如下:
以上是关于python 入门教程之每日 5 or 6 道题,列表推导式篇 | Python 技能树题库的主要内容,如果未能解决你的问题,请参考以下文章
常用标准库 random,python 入门教程之每日 5 or 6 道题 | Python技能树征题
断言with-as 篇,python 入门教程之每日 5 or 6 道题 | Python 技能树题库
python 爬虫 selenium 框架,入门就看这 5 道题 | Python技能树征题