为了账号安全,请及时绑定邮箱和手机立即绑定

Python在列表上附加()与+运算符,为什么这些会给出不同的结果?

Python在列表上附加()与+运算符,为什么这些会给出不同的结果?

炎炎设计 2019-09-20 15:13:40
为什么这两个操作(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+在列表上定义重载运算符以创建新列表,其内容是第一个列表中的元素和第二个列表中的元素。

所以这些只是用于设计不同事物的不同表达方式。


查看完整回答
反对 回复 2019-09-20
  • 3 回答
  • 0 关注
  • 519 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信