Python中列表append()、extend()、"+"、"+="的区别

第一:添加一个元素到列表中
# encoding=utf-8
a = ["a", "b", "c"]
print "append|添加前id:%s" % id(a),
a.append("d")
print "添加后id:%s" % id(a), a
print "-"*62

a = ["a", "b", "c"]
print "extend|添加前id:%s" % id(a),
a.extend("d")
print "添加后id:%s" % id(a), a
print "-"*62

a = ["a", "b", "c"]
print "     +|添加前id:%s" % id(a),
a = a + ["d"]
print "添加后id:%s" % id(a), a
print "-"*62

a = ["a", "b", "c"]
print "    +=|添加前id:%s" % id(a),
a += "d"
print "添加后id:%s" % id(a), a

输出结果:

append|添加前id:40672072 添加后id:40672072 ['a', 'b', 'c', 'd']
--------------------------------------------------------------
extend|添加前id:40683080 添加后id:40683080 ['a', 'b', 'c', 'd']
--------------------------------------------------------------
       +|添加前id:40672072 添加后id:40683208 ['a', 'b', 'c', 'd']
--------------------------------------------------------------
     +=|添加前id:40672072 添加后id:40672072 ['a', 'b', 'c', 'd']

可以看出这四种方式都可以向列表中添加一个新元素,除了"+"之外,其他三种方式都是在原列表上添加数据,"+"则会创建一个新的列表,并且"+"只能连接两个列表,如果连接一个元素跟一个列表会报错

第二:添加一个列表到列表中
# encoding=utf-8
a = ["a", "b", "c"]
print "append|添加前id:%s" % id(a),
a.append(["d","e","f"])
print "添加后id:%s" % id(a), a
print "-"*62

a = ["a", "b", "c"]
print "extend|添加前id:%s" % id(a),
a.extend(["d","e","f"])
print "添加后id:%s" % id(a), a
print "-"*62

a = ["a", "b", "c"]
print "     +|添加前id:%s" % id(a),
a = a + ["d","e","f"]
print "添加后id:%s" % id(a), a
print "-"*62

a = ["a", "b", "c"]
print "    +=|添加前id:%s" % id(a),
a += ["d","e","f"]
print "添加后id:%s" % id(a), a

输出结果:

append|添加前id:40082248 添加后id:40082248 ['a', 'b', 'c', ['d', 'e', 'f']]
--------------------------------------------------------------
extend|添加前id:40093384 添加后id:40093384 ['a', 'b', 'c', 'd', 'e', 'f']
--------------------------------------------------------------
       +|添加前id:40082248 添加后id:40082376 ['a', 'b', 'c', 'd', 'e', 'f']
--------------------------------------------------------------
     +=|添加前id:40082248 添加后id:40082248 ['a', 'b', 'c', 'd', 'e', 'f']

append方法当添加的元素是列表时会回将整个列表添加进原列表,extend与"+="的效果是一样的,会将列表中的元素添加到原列表,"+"也会将两个列表中的元素复制到一个新创建的列表中,所不同的会创建一个新的列表

转载于:https://my.oschina.net/u/1258442/blog/180704

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值