gpt4 book ai didi

python - Python list += iterable 的行为是否记录在任何地方?

转载 作者:IT老高 更新时间:2023-10-28 22:15:52 25 4
gpt4 key购买 nike

在 Python 中,list += x 似乎适用于任何可迭代的 x:

In [6]: l = []

In [7]: l += [1]

In [8]: l += (2, 3)

In [9]: l += xrange(5)

In [10]: l
Out[10]: [1, 2, 3, 0, 1, 2, 3, 4]

这种行为是否记录在任何地方?

为了与 list + x 进行对比,后者仅在 x 也是 list 时才有效。这在 documentation 中有详细说明.

最佳答案

来自 Guido van Rossum :

It works the same way as .extend() except that it also returns self. I can't find docs explaining this. :-(

这里是取自listobject.c的相关源代码:

list_inplace_concat(PyListObject *self, PyObject *other)
{
PyObject *result;

result = listextend(self, other);
if (result == NULL)
return result;
Py_DECREF(result);
Py_INCREF(self);
return (PyObject *)self;
}

我已提交错误报告以修复文档:http://bugs.python.org/issue16701

关于python - Python list += iterable 的行为是否记录在任何地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13904493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com