个性化阅读
专注于IT技术分析

Python a + = b并不总是a = a + b

在python中, a + = b的行为并不总是与a = a + b相同, 相同的操作数在不同条件下可能会给出不同的结果。

考虑以下示例以进行列表操作:

例子1

list1 = [ 5 , 4 , 3 , 2 , 1 ]
list2 = list1
list1 + = [ 1 , 2 , 3 , 4 ]
  
print (list1)
print (list2)

输出如下:

[5, 4, 3, 2, 1, 1, 2, 3, 4]
[5, 4, 3, 2, 1, 1, 2, 3, 4]
Python | a + = b并不总是a = a + b1

例子2

list1 = [ 5 , 4 , 3 , 2 , 1 ]
list2 = list1
list1 = list1 + [ 1 , 2 , 3 , 4 ]
  
# Contents of list1 are same as above 
# program, but contents of list2 are
# different.
print (list1)
print (list2)

输出如下:

[5, 4, 3, 2, 1, 1, 2, 3, 4]
[5, 4, 3, 2, 1]
Python | a + = b并不总是a = a + b2
  • 表达list1 + = [1、2、3、4]就地修改列表, 意味着它扩展了列表, 以使” list1″和” list2″仍具有对同一列表的引用。
  • 表达list1 = list1 + [1、2、3、4]创建一个新列表, 并将” list1″引用更改为该新列表, ” list2″仍引用旧列表。

首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。


赞(1)
未经允许不得转载:srcmini » Python a + = b并不总是a = a + b
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!