我正在阅读Dive into Python 3篇文章,在列表部分,作者指出可以使用"+"运算符连接列表,或者调用extend()方法.这是相同的只是两种不同的操作方式吗?我为什么要用其中一个?

>>> a_list = a_list + [2.0, 3]
>>> a_list.extend([2.0, 3])  

推荐答案

a_list.extend(b_list)在适当位置修改a_list.a_list = a_list + b_list创建一个新列表,然后将其保存到名称a_list.请注意,a_list += b_list应该与extend版本完全相同.

使用extend+=可能会稍微快一点,因为它不需要创建新对象,但如果周围有另一个对a_list的引用,它的值也会改变(这可能是可取的,也可能不是可取的).

Python-3.x相关问答推荐

"安装serial vs安装psyserial header,"""

如何从拼图分区数据集中读取数据到Polar

CDKTF ec2 具有特定私有 IP 地址的娱乐

以某种方式分割字符串

比较和排序 DataFrame 两列中的值并在 python 中的同一行中排序

从 https://www.niftytrader.in/stock-options-chart/sbin 提取 SBIN 股票最大痛苦值的 Python 代码不起作用 - 我错过了什么?

合并所有文件并获取特定列数据

如何在不使用循环的情况下根据另一个数组的索引值将 numpy 数组中不同通道的值设置为零?

使用gekko python的混合整数非线性规划

过滤并获取数据框中条件之间的行

Tkinter AttributeError:对象没有属性'tk'

如何判断一个字符串是否包含有效的 Python 代码

使用 Sublime Text 3 在 Python 3 中打印 UTF-8

TypeError:列表索引必须是整数或切片,而不是列表

为 True 相交两个布尔数组

混合全局/参数和名为top的函数的奇怪python行为

Pruning in Keras

如何为 anaconda python3 安装 gi 模块?

通过字典有效地替换Pandas 系列中的值

__iter__ 和 __getitem__ 有什么区别?