【练习3】 请根据代码及其执行结果回答下列问题。 1 a = [ 1 ,2,3 ,4,5 ,6,7 ] 2 b = a 3 c = a [ :] 4 a[3:5] = 99,100 5 print ( "a=",a,"id( a) =", id(a)) 6 print ( "b=",b,"id( b) =", id(b)) 7 print ( "c=",c,"id( c)=", id(c)) 上述代码的执行结果为: 1 a = [1,2,3,99,100,6,7] id ( a) = 2101233165760 2 b= [1,2,3,99,100,6,7] id( b) = 2101233165760 3 c= [1,2,3,4,5,6,7] id ( c) = 2101233716736 (1)上述代码第4行的作用是什么? (2)为什么a 和b的id值相等? (3)为什么代码第4行对a的修改也影响到了b? (4)为什么c的id值与a不同?
时间: 2023-09-09 18:12:36 浏览: 64
(1) 第4行代码的作用是将a列表中下标为3和4的元素修改为99和100。
(2) a和b的id值相等是因为在第2行代码中,b被赋值为a的引用,即b指向了a所指向的对象,因此它们的id值相同。
(3) 在第2行代码中,b被赋值为a,即b和a指向了同一个对象。因此,当我们修改a列表中的元素时,b所指向的对象也会被修改。
(4) c的id值与a不同是因为在第3行代码中,c被赋值为a的切片,即c指向了一个新的对象,它和a所指向的对象不同,因此它们的id值也不同。
阅读全文