Python二级试题解读:列表的访问和插入操作

题目


a和b是两个列表变量,列表a为[3,6,9]已给定,键盘输入列表b,将a列表的三个元素插入到b列表中对应的前三个元素的后面,并显示输出在屏幕上。
例如:键盘输入列表b为[1,2,3],因此,屏幕输出计算结果为[1,3,2,6,3,9]
代码模板:

// 考生文件初始代码
a = [3,6,9]
b = eval(input())
j=1
for i in range(len(__(1)____)):
b._____(2)_____
j+= __(3)______
print(b)

代码解读


第1条语句定义变量a,存储列表对象。
第2条语句完成用户的输入,用户输入的是字符串,例如:[1,2,3],该条语句需要把用户输入的字符串转换为列表对象,eval(str)函数将字符串str当成有效的表达式来求值并返回计算结果,因此eval(“[1,2,3]”)函数将字符串”[1,2,3]”转换为列表对象,并将列表对象赋值给b。
第3条语句定义变量j,并赋值为1。
第4条语句要求填入代码,该语句遍历列表a,访问列表a的所有元素。因此该语句的下划线出应填写len(a)。
第5条语句在遍历列表a的for循环体内,语句开始是列表对象b的名称,这里应是列表b做插入操作,插入位置为变量j的值,第一次循环,变量j的值为1,因此列表a的第一个元素插入到列表b索引为1的位置,第二次循环,要插入到列表b索引为3的位置,第三次循环,要插入到列表b索引为5的位置。因此该语句的下划线出应填写代码insert(j,a[i])。
第6条语句完成变量j值的更新,变量j每次更新都要加2。
完整代码:

a = [3,6,9]
b = eval(input())
j=1
for i in range(len(a)):
b.insert(j,a[i])
j+= 2
print(b)