# 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
输出结果:python
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']app
能够看出这四种方式均可以向列表中添加一个新元素,除了"+"以外,其余三种方式都是在原列表上添加数据,"+"则会建立一个新的列表,而且"+"只能链接两个列表,若是链接一个元素跟一个列表会报错 spa
# 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
输出结果:code
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'] utf-8
append方法当添加的元素是列表时会回将整个列表添加进原列表,extend与"+="的效果是同样的,会将列表中的元素添加到原列表,"+"也会将两个列表中的元素复制到一个新建立的列表中,所不一样的会建立一个新的列表 class