知识点:python 列表推导式
第 1 题:
问题描述:以下哪个列表推导式可以生成10个随机整数的列表?
import random
A:
print([i for i in range(10)])
B:
print([random.randint(0, 10) for _ in range(10)])
C:
print([random.random() for _ in range(10)])
D:
print([random.randint(0, 100) for i in range(10) if i > 10])
答案:B
第 2 题:
问题描述:选项中哪个推导式等价于下面代码的for循环?
arr = []
for i in [6, 4, 10, 0, 4, 7, 6, 5, 1, 7]:
if i > 5:
arr.append(i * i)
print(arr)
A:
print([i * i for i in [6, 4, 10, 0, 4, 7, 6, 5, 1, 7]])
B:
print([i * 2 for i in [6, 4, 10, 0, 4, 7, 6, 5, 1, 7] if i > 5])
C:
print([i * i for i in [6, 4, 10, 0, 4, 7, 6, 5, 1, 7] if i > 5])
D:
print([[i * i] for i in [6, 4, 10, 0, 4, 7, 6, 5, 1, 7] if i > 5])
答案:C
第 3 题:
问题描述:哪个选项可以找出下面列表arr中的所有奇数?
arr = [6, 4, 10, 0, 4, 7, 6, 5, 1, 7]
A:
print([i for i in arr if i % 2 == 1])
B:
print([i % 2 == 1 for i in arr])
C:
print([i for i in arr if i // 2 == 1])
D:
print([i for i in arr if i % 2 == 0])
答案:A