Python 程序的输出 | 第十三套(列表和元组续)

108 阅读2分钟

Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情

  • 难度级别: 中等

1)以下程序的输出是什么?

List = [True, 50, 10]
List.insert(2, 5)
print(List, "Sum is: ", sum(List))

a) [True, 50, 10, 5] Sum is: 66 
b) [True, 50, 5, 10] Sum is: 65 
c) TypeError: +: 'int' and 'str' 不支持的操作数类型 
d) [True, 50, 5, 10] 总和是:66 

答:(d) 
解释: 列表最初有 3 个元素。insert() 在索引 2 处添加元素 5,在索引 3 处移动元素 10,List 变为 [True, 50, 5, 10]。布尔值的整数值为 1,因此总和变为 1 + 50 + 5 + 10 = 66。

2) 以下程序的输出是什么?

T = (1, 2, 3, 4, 5, 6, 7, 8)
print(T[T.index(5)], end = " ")
print(T[T[T[6]-3]-6])

a) 4 0 
b) 5 8 
c) 5 索引错误 
d) 4 1 

答:(b) 
说明: 内置函数 index() 返回元素的索引。T.index(5) = 4 和 T[4] = 5。另一个打印语句具有元组索引,类似于列表的索引。T[6] = 7,T[6]-3 = 4,T[T[6]-3] = 5,T[T[6]-3]-6 = -1 和 T[T[T[6 ]-3]-6],即 T[-1] = 8。

3) 以下程序的输出是什么?

L = [1, 3, 5, 7, 9]
print(L.pop(-3), end = ' ')
print(L.remove(L[0]), end = ' ')
print(L)

a) 5 无 [3, 7, 9] 
b) 5 1 [3, 7, 9] 
c) 5 1 [3, 7, 9] 
d) 5 无 [1, 3, 7, 9] 

答:(a) 
解释:  pop() 将删除并返回其索引作为参数传递的元素。L.pop(-3) 将删除 5 并返回 5,由 print() 打印。remove() 确实返回任何值,它是一个 void 函数。L[0] = 1,L.remove(1) 将从列表中删除 1,列表保持为 [3, 7, 9]。

4) 以下程序的输出是什么?

def REVERSE(L):
	L.reverse()
	return(L)
def YKNJS(L):
	List = []
	List.extend(REVERSE(L))
	print(List)

L = [1, 3.1, 5.31, 7.531]
YKNJS(L)

a) [1, 3.1, 5.31, 7.531] 
b) [7.531, 5.31, 3.1, 1] 
c) IndexError 
d) AttributeError: 'NoneType' 对象没有属性 'REVERSE' 

答。(b) 
解释:  REVERSE() 反转列表并返回它。YKNJS() 将列表 L 的反向添加到空列表 List。L = [1, 3.1, 5.31, 7.531],反转并变为 [7.531, 5.31, 3.1, 1]。

5) 以下程序的输出是什么?

from math import sqrt
L1 = [x**2 for x in range(10)].pop()
L1 + = 19
print(sqrt(L1), end = " ")
L1 = [x**2 for x in reversed(range(10))].pop()
L1 + = 16
print(int(sqrt(L1)))

a) 10.0 4.0 
b) 4.3588 4 
c) 10.0 4 
d) 10.0 0 

答。(c) 
解释: 第一次列表压缩将创建列表为 [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 并且 pop() 将返回 81. 81 + 19 = 100,其平方root 是 10.0,类似地,在第二种情况下 pop() 将返回 0,因为范围相反,16 的平方根的整数值为 4。