为什么这两个操作(append()分别+)给出不同的结果?>>> c = [1, 2, 3]>>> c[1, 2, 3]>>> c += c>>> c[1, 2, 3, 1, 2, 3]>>> c = [1, 2, 3]>>> c.append(c)>>> c[1, 2, 3, [...]]>>> 在最后一种情况下,实际上存在无限递归。c[-1]并且c是一样的。为什么它与+操作不同?
3 回答
交互式爱情
TA贡献1712条经验 获得超3个赞
Python列表是异构的,即同一列表中的元素可以是任何类型的对象。表达式:c.append(c)
将对象附加c
到列表中。在这种情况下,它使列表本身成为列表的成员。
表达式c += c
将两个列表一起添加,并将结果分配给变量c
。+
在列表上定义重载运算符以创建新列表,其内容是第一个列表中的元素和第二个列表中的元素。
所以这些只是用于设计不同事物的不同表达方式。
添加回答
举报
0/150
提交
取消