首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python: extend (扩充) 与 append (追加) 的差别

2013-03-13 
python: extend (扩展) 与 append (追加) 的差别? li [a, b, c] li.extend([d, e, f]

python: 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']

?

?

Lists 的两个方法 extend 和 append 看起来类似,但实际上完全不同。extend 接受一个参数,这个参数总是一个 list,并且把这个 list 中的每个元素添加到原 list 中。在这里 list 中有 3 个元素 ('a'、'b' 和 'c'),并且使用另一个有 3 个元素 ('d'、'e' 和 'f') 的 list 扩展之,因此新的 list 中有 6 个元素。另一方面,append 接受一个参数,这个参数可以是任何数据类型,并且简单地追加到 list 的尾部。在这里使用一个含有 3 个元素的 list 参数调用 append 方法。原来包含 3 个元素的 list 现在包含 4 个元素。为什么是 4 个元素呢?因为刚刚追加的最后一个元素本身是个 list。List 可以包含任何类型的数据,也包括其他的 list。这或许是您所要的结果,或许不是。如果您的意图是 extend,请不要使用 append。

热点排行