在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]
文章图片
例子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]
文章图片
- 表达list1 + = [1、2、3、4]就地修改列表, 意味着它扩展了列表, 以使” list1″ 和” list2″ 仍具有对同一列表的引用。
- 表达list1 = list1 + [1、2、3、4]创建一个新列表, 并将” list1″ 引用更改为该新列表, ” list2″ 仍引用旧列表。
推荐阅读
- 机器学习|CVPR 2022 接收结果出炉!录用 2067 篇,接收数量上升24%(附最新论文速递)
- 人工智能|YOLOX笔记
- 人工智能|在自定义数据集上训练YOLOX
- python|【转载】OpenCV-Python系列之稀疏光流(五十九)
- GUI-PyQt5|python3GUI--打造一款音乐播放器By:PyQt5(附下载地址)
- python小工具|Qt5开发工具---常用Qt5开发工具(附下载地址)
- GUI-PyQt5|python3GUI--历史上的今天 查看器 By:PyQt5(附源码)
- python小工具|python3GUI--打造一款时间管理工具By:PyQt5(附源码)
- GUI-PyQt5|python3GUI--疫情信息快速查看工具By:PyQt5(附源码)