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 + b

文章图片
例子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 + b

文章图片
  • 表达list1 + = [1、2、3、4]就地修改列表, 意味着它扩展了列表, 以使” list1″ 和” list2″ 仍具有对同一列表的引用。
  • 表达list1 = list1 + [1、2、3、4]创建一个新列表, 并将” list1″ 引用更改为该新列表, ” list2″ 仍引用旧列表。
【Python a + = b并不总是a = a + b】首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。

    推荐阅读