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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python: extend (扩展) 与 append (追加) 的差别相关的知识,希望对你有一定的参考价值。

转帖:http://justjavac.iteye.com/blog/1827915 

 

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

以上是关于python: extend (扩展) 与 append (追加) 的差别的主要内容,如果未能解决你的问题,请参考以下文章

使用下划线与主干扩展()[关闭]

python:extend (扩展) 与 append (追加) 之间的天与地

Egg.js 通过 extend 实现 日期格式化

jquery 扩展与角度扩展

Python - 直接扩展列表会导致无,为啥?

jQuery扩展