python开发的常见问题S12(列表和元组)

2021年4月15日19:12:59 发表评论 1,097 次浏览

先决条件:list和元组

注意:

所有这些程序的输出都在Python3上进行了测试

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

L1 = []
L1.append([ 1 , [ 2 , 3 ], 4 ])
L1.extend([ 7 , 8 , 9 ])
print (L1[ 0 ][ 1 ][ 1 ] + L1[ 2 ])

a)类型错误:只能将列表(不是" int")连接到列表

b)12

c)11

d)38

答案(C)

说明:

在print()中, 使用索引。 L1 [0]表示[1, [2, 3], 4], L1 [0] [1]表示[2, 3],

L1 [0] [1] [1] = 3和L1 [2] =8。因此, 两个整数相加, 3 + 8 = 11, 输出为11。

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

L1 = [ 1 , 1.33 , 'GFG' , 0 , 'NO' , None , 'G' , True ]
val1, val2 = 0 , ''
for x in L1:
     if ( type (x) = = int or type (x) = = float ):
         val1 + = x
     elif ( type (x) = = str ):
         val2 + = x
     else :
         break
print (val1, val2)

a)2个GFGNO

b)2.33 GFGNOG

c)2.33 GFGNONoneGTrue

d)2.33 GFGNO

答案(d)

说明:

val1将只具有整数和浮点值val1 = 1 + 1.33 + 0 = 2.33, 而val2将具有字符串值val2 =" GFG" +'NO'='GFGNO'。字符串" G"不会成为val2的一部分, 因为for循环将在None处中断, 因此不会将" G"添加到val2中。

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

L1 = [ 1 , 2 , 3 , 4 ]
L2 = L1
L3 = L1.copy()
L4 = list (L1)
L1[ 0 ] = [ 5 ]
print (L1, L2, L3, L4)

a)[5、2、3、4] [5、2、3、4] [1、2、3、4] [1、2、3、4]

b)[[5], 2、3、4] [[5], 2、3、4] [[5], 2、3、4] [1、2、3、4]

c)[5、2、3、4] [5、2、3、4] [5、2、3、4] [1、2、3、4]

d)[[5], 2、3、4] [[5], 2、3、4] [1、2、3、4] [1、2、3、4]

答案(d)

说明:

列表L2是L1的浅表副本, 而L3和L4是列表L1的深表副本(真实副本)。 L1 [0] = [5], 表示在索引0处, 列表[5]将存在, 而不是整数值5。

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

import sys
L1 = tuple ()
print (sys.getsizeof(L1), end = " " )
L1 = ( 1 , 2 )
print (sys.getsizeof(L1), end = " " )
L1 = ( 1 , 3 , ( 4 , 5 ))
print (sys.getsizeof(L1), end = " " )
L1 = ( 1 , 2 , 3 , 4 , 5 , [ 3 , 4 ], 'p' , '8' , 9.777 , ( 1 , 3 ))
print (sys.getsizeof(L1))

a)0 2 3 10

b)32 34 35 42

c)48 64 72 128

d)48144192480

答案(C)

说明:

元组的开销大小为48字节, 每个其他元素需要8字节。

(1, 2)大小:48 + 2 * 8 = 64

(1、3, (4、5))大小:48 + 3 * 8 = 72

(1、2、3、4、5, [3、4], " p", " 8", 9.777, (1、3))大小:48 + 10 * 8 = 128

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

T1 = ( 1 )
T2 = ( 3 , 4 )
T1 + = 5
print (T1)
print (T1 + T2)

a)TypeError

b)(1、5、3、4)

c)1个TypeError

d)6个TypeError

答案(d)

说明:

T1是整数, 而T2是元组。因此T1将变为1 + 5 =6。但是不能添加整数和元组, 它将引发TypeError。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: