Python “列表” 水平考试:20道精选试题和答案
Python “列表” 水平考试:20道精选试题和答案
【 列表 】
一、选择题(每题 2 分,共 10 题)
-
以下哪个选项可以创建一个包含 5 个元素的全零列表?
- A.
list(5)
- B.
[0] * 5
- C.
[0 for i in range(6)]
- D.
zeros(5)
答案:B
- A.
-
以下代码的输出是什么?
numbers = [1, 2, 3, 4, 5] print(numbers[1:4])
- A.
[1, 2, 3]
- B.
[2, 3, 4]
- C.
[1, 2, 3, 4]
- D.
[2, 3, 4, 5]
答案:B
- A.
-
以下代码的输出是什么?
fruits = ["apple", "banana", "cherry"] fruits.append("orange") print(len(fruits))
- A.
3
- B.
4
- C.
5
- D.
6
答案:B
- A.
-
以下代码的输出是什么?
numbers = [1, 2, 3, 4, 5] numbers[2] = 10 print(numbers)
- A.
[1, 2, 10, 4, 5]
- B.
[1, 10, 3, 4, 5]
- C.
[1, 2, 3, 4, 5]
- D.
[10, 2, 3, 4, 5]
答案:A
- A.
-
以下代码的输出是什么?
matrix = [[1, 2], [3, 4], [5, 6]] print(matrix[1][0])
- A.
1
- B.
2
- C.
3
- D.
4
答案:C
- A.
-
以下代码的输出是什么?
numbers = [1, 2, 3, 4, 5] result = [x * 2 for x in numbers if x % 2 == 0] print(result)
- A.
[2, 4, 6, 8, 10]
- B.
[4, 8]
- C.
[2, 6, 10]
- D.
[4]
答案:B
- A.
-
以下代码的输出是什么?
fruits = ["apple", "banana", "cherry"] fruits.insert(1, "orange") print(fruits)
- A.
["apple", "orange", "banana", "cherry"]
- B.
["orange", "apple", "banana", "cherry"]
- C.
["apple", "banana", "orange", "cherry"]
- D.
["apple", "banana", "cherry", "orange"]
答案:A
- A.
-
以下代码的输出是什么?
numbers = [1, 2, 3, 4, 5] numbers.pop(2) print(numbers)
- A.
[1, 2, 4, 5]
- B.
[1, 3, 4, 5]
- C.
[1, 2, 3, 5]
- D.
[2, 3, 4, 5]
答案:A
- A.
-
以下代码的输出是什么?
lst = [1, 2, 3] lst.extend([4, 5]) print(lst)
- A.
[1, 2, 3, [4, 5]]
- B.
[1, 2, 3, 4, 5]
- C.
[1, 2, 3]
- D.
[4, 5]
答案:B
- A.
-
以下代码的输出是什么?
lst = [1, 2, 3, 4, 5] lst.reverse() print(lst)
- A.
[5, 4, 3, 2, 1]
- B.
[1, 2, 3, 4, 5]
- C.
[1, 5, 2, 4, 3]
- D.
[5, 1, 4, 2, 3]
答案:A
- A.
二、填空题(每题 3 分,共 5 题)
-
以下代码的输出是什么?
lst = [1, 2, 3, 4, 5] print(lst[-2])
答案:4
-
以下代码的输出是什么?
lst = [1, 2, 3] lst[1:2] = [10, 20] print(lst)
答案:[1, 10, 20, 3]
-
以下代码的输出是什么?
lst = [1, 2, 3, 4, 5] print(lst[::2])
答案:[1, 3, 5]
-
以下代码的输出是什么?
lst = [1, 2, 3] lst.append([4, 5]) print(lst)
答案:[1, 2, 3, [4, 5]]
-
以下代码的输出是什么?
lst = [1, 2, 3] lst += [4, 5] print(lst)
答案:[1, 2, 3, 4, 5]
三、编程题(每题 10 分,共 5 题)
-
编写一个函数
remove_duplicates
,接受一个列表作为参数,返回一个去重后的新列表。def remove_duplicates(lst): return list(set(lst)) # 测试 print(remove_duplicates([1, 2, 2, 3, 4, 4, 5])) # 输出: [1, 2, 3, 4, 5]
-
编写一个函数
flatten_list
,接受一个嵌套列表作为参数,返回一个扁平化的列表。def flatten_list(nested_lst): flat_lst = [] for item in nested_lst: if isinstance(item, list): flat_lst.extend(flatten_list(item)) else: flat_lst.append(item) return flat_lst # 测试 print(flatten_list([1, [2, [3, 4], 5], 6])) # 输出: [1, 2, 3, 4, 5, 6]
-
编写一个函数
rotate_list
,接受一个列表和一个整数k
作为参数,返回将列表向右旋转k
步后的新列表。def rotate_list(lst, k): k = k % len(lst) # 处理 k 大于列表长度的情况 return lst[-k:] + lst[:-k] # 测试 print(rotate_list([1, 2, 3, 4, 5], 2)) # 输出: [4, 5, 1, 2, 3]
-
编写一个函数
find_common_elements
,接受两个列表作为参数,返回两个列表中共同存在的元素。def find_common_elements(lst1, lst2): return list(set(lst1) & set(lst2)) # 测试 print(find_common_elements([1, 2, 3, 4], [3, 4, 5, 6])) # 输出: [3, 4]
-
编写一个函数
split_list
,接受一个列表和一个整数n
作为参数,返回将列表分成n
个子列表的结果。def split_list(lst, n): k, m = divmod(len(lst), n) return [lst[i * k + min(i, m):(i + 1) * k + min(i + 1, m)] for i in range(n)] # 测试 print(split_list([1, 2, 3, 4, 5, 6, 7], 3)) # 输出: [[1, 2, 3], [4, 5], [6, 7]]
四、附加题(15 分)
编写一个函数 find_max_subarray
,接受一个整数列表作为参数,返回列表中连续子数组的最大和。
def find_max_subarray(lst):
max_sum = current_sum = lst[0]
for num in lst[1:]:
current_sum = max(num, current_sum + num)
max_sum = max(max_sum, current_sum)
return max_sum
# 测试
print(find_max_subarray([-2, 1, -3, 4, -1, 2, 1, -5, 4])) # 输出: 6
评分标准
- 选择题:每题 2 分,共 20 分。
- 填空题:每题 3 分,共 15 分。
- 编程题:每题 10 分,共 50 分。
- 代码正确且功能完整:10 分。
- 代码部分正确或功能不完整:5 分。
- 代码错误或未完成:0 分。
- 附加题:15 分。
- 代码正确且功能完整:15 分。
- 代码部分正确或功能不完整:5 分。
- 代码错误或未完成:0 分。
总结
本试卷涵盖了列表的基本操作、高级用法和编程实践,适合巩固 Python 列表的学习效果。通过完成这些题目,可以加深对列表的理解并提升编程能力。
原文地址:https://blog.csdn.net/weixin_47267103/article/details/145255759
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!