python学习笔记--list
3.2.2. 向 list 中增加元素
例 3.10. 向 list 中增加元素
>>> li
['a', 'b', 'mpilgrim', 'z', 'example']
>>> li.append("new")
>>> li
['a', 'b', 'mpilgrim', 'z', 'example', 'new']
>>> li.insert(2, "new")
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new']
>>> li.extend(["two", "elements"])
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
[url=file:///home/wangyao/Desktop/diveintopython/diveintopython-htmlflat-5.4_zh-ch/html/diveintopython.html#odbchelper.list.5.1][/url]
append 向 list 的末尾追加单个元素。
[url=file:///home/wangyao/Desktop/diveintopython/diveintopython-htmlflat-5.4_zh-ch/html/diveintopython.html#odbchelper.list.5.2][/url]
insert 将单个元素插入到 list 中。数值参数是插入点的索引。请注意, list 中的元素不必唯一, 现在有两个独立的元素具有 'new' 这个值, li[2] 和 li[6]。
[url=file:///home/wangyao/Desktop/diveintopython/diveintopython-htmlflat-5.4_zh-ch/html/diveintopython.html#odbchelper.list.5.3][/url]
extend 用来连接 list。请注意不要使用多个参数来调用 extend, 要使用一个 list 参数进行调用。在本例中, 这个 list 有两个元素。
例 3.11. extend (扩展) 与 append (追加)的差别
>>> li = ['a', 'b', 'c']
>>> li.extend(['d', 'e', 'f'])
>>> li
['a', 'b', 'c', 'd', 'e', 'f']
>>> len(li)
6
>>> li[-1]
'f'
>>> li = ['a', 'b', 'c']
>>> li.append(['d', 'e', 'f'])
>>> li
['a', 'b', 'c', ['d', 'e', 'f']]
>>> len(li)
4
>>> li[-1]
['d', 'e', 'f']
[url=file:///home/wangyao/Desktop/diveintopython/diveintopython-htmlflat-5.4_zh-ch/html/diveintopython.html#odbchelper.list.5.4][/url]
Lists 的两个方法 extend 和 append 看起来类似, 但实际上完全不同。 extend 接受一个参数, 这个参数总是一个 list, 并且添加这个 list 中的每个元素到原 list 中。
[url=file:///home/wangyao/Desktop/diveintopython/diveintopython-htmlflat-5.4_zh-ch/html/diveintopython.html#odbchelper.list.5.5][/url]
在这里 list 中有 3 个元素 ('a', 'b' 和 'c'), 并且使用另一个有 3 个元素 ('d', 'e' 和 'f') 的 list 扩展之, 因此新的 list 中有 6 个元素。
[url=file:///home/wangyao/Desktop/diveintopython/diveintopython-htmlflat-5.4_zh-ch/html/diveintopython.html#odbchelper.list.5.6][/url]
另一方面, append 接受一个参数, 这个参数可以是任何数据类型, 并且简单地追加到 list 的尾部。 在这里使用一个含有 3 个元素的 list 参数调用 append 方法。
[url=file:///home/wangyao/Desktop/diveintopython/diveintopython-htmlflat-5.4_zh-ch/html/diveintopython.html#odbchelper.list.5.7][/url]
原来包含 3 个元素的 list 现在包含 4 个元素。 为什么是 4 个元素呢? 因为刚刚追加的最后一个元素 本身是个 list。 List 可以包含任何类型的数据, 也包括其他的 list。 这或许是您所要的结果, 或许不是。 如果您的意图是 extend, 请不要使用 append。