zoukankan      html  css  js  c++  java
  • python:extend (扩展) 与 append (追加) 之间的天与地

     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']
    • 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。
    运维虐我千万遍,我对运维如初恋。
  • 相关阅读:
    [NOIP2008] 提高组 洛谷P1125 笨小猴
    洛谷P3384 【模板】树链剖分
    Bzoj1503 [NOI2004]郁闷的出纳员
    POJ1422 Air Raid
    洛谷P1133 教主的花园
    洛谷P1186 玛丽卡
    HDU5115 Dire Wolf
    POJ1308 Is It A Tree?
    POJ2513 Colored Sticks
    Bzoj2326 [HNOI2011]数学作业
  • 原文地址:https://www.cnblogs.com/kevincaptain/p/5589034.html
Copyright © 2011-2022 走看看