首页 > 试题广场 > 以下代码输出为: list1 = {'1':1,'2':2}
[单选题]
以下代码输出为:
list1 = {'1':1,'2':2}
 list2 = list1
 list1['1'] = 5
 sum = list1['1'] + list2['1']
 print(sum)

  • 1
  • 2
  • 7
  • 10
b = a: 赋值引用,a 和 b 都指向同一个对象。
list1 和 list2 指向的是同一块内存空间
list1['1']=5  ------>     改变了这一块内存空间中'1'的value值
执行这一步后内存空间存储的数据变为:{'1': 5, '2': 2}
因此 sum = list1['1']+list2['1']=5+5=10
发表于 2019-10-09 20:36:02 回复(1)
浅拷贝和深拷贝
可变类型set,list,dict进行浅拷贝后,拷贝后的也会受影响。
发表于 2019-08-05 15:43:19 回复(2)
赋值,在原有对象的引用计数上+1,所以原有对象变,它也跟着变,就像贴标签,把两个标签贴到了一个对象上。
这和深浅拷贝还是不一样的,深浅拷贝的均开辟新内存,赋值不会开辟新的内存地址。可以用id()进行测试
编辑于 2019-11-04 09:46:43 回复(0)
python2,3: 列表和字典直接赋值是浅拷贝,浅拷贝情况下对其中一个的改变都会相应改变另一个
发表于 2019-08-07 10:44:32 回复(2)

list1和list2都是引用 指向同一片内存地址

发表于 2019-06-17 10:43:44 回复(0)
D
发表于 2019-12-08 16:44:53 回复(0)
10
发表于 2019-12-05 11:53:32 回复(0)
虽然用的变量名是list,但实际是字典,他们是直接赋值,id是一样的,指向同一个内存空间。所以对于字典列表数组这些可变类型而言,会一起改变值。
发表于 2019-11-13 11:17:00 回复(0)
c
发表于 2019-11-13 08:57:49 回复(0)

d

发表于 2019-11-03 07:08:45 回复(0)

D,改变了对象的值

发表于 2019-10-17 18:30:21 回复(0)

list1 list2 指向同一个可变dict,一个修改会同时修改另外一个。所以2个值相同都是修改后的5

发表于 2019-10-16 19:56:45 回复(0)

两个变量都是指向同一个对象的


发表于 2019-10-12 18:31:33 回复(0)

C

发表于 2019-10-08 12:49:46 回复(0)

变量为引用 常亮为赋值

发表于 2019-09-16 21:44:32 回复(0)

list1和list2在内存中指向同一内存地址,改变其中一个,另一个也随之改变,选D

发表于 2019-09-15 15:40:49 回复(0)

地址值赋值

编辑于 2019-09-11 20:40:57 回复(0)

d

发表于 2019-09-11 13:32:22 回复(0)
python中不是赋值,是指向,所以对同一数值做改变,指向的所有变量都会重新指向新数值
发表于 2019-09-10 10:04:08 回复(0)
列表和字典赋值是浅拷贝,赋值另外一个也受影响
发表于 2019-09-01 16:00:30 回复(0)