- 在线时间
- 155 小时
- 最后登录
- 2013-4-28
- 注册时间
- 2012-5-7
- 听众数
- 5
- 收听数
- 0
- 能力
- 2 分
- 体力
- 2333 点
- 威望
- 0 点
- 阅读权限
- 50
- 积分
- 913
- 相册
- 1
- 日志
- 26
- 记录
- 52
- 帖子
- 291
- 主题
- 102
- 精华
- 0
- 分享
- 6
- 好友
- 84
升级   78.25% TA的每日心情 | 开心 2013-4-28 12:11 |
---|
签到天数: 160 天 [LV.7]常住居民III
 群组: 数学软件学习 |
python list之append和extend的区别
$ d! i' ?; ^6 M$ t# t分类: python 2011-06-28 16:53 1477人阅读 评论(1) 收藏 举报
; s8 i/ k: S( h8 j
/ V$ E* D$ r' k3 @$ |' K! G- ]2 p1. 列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型。2 ?( U' b' E, _7 X0 }' V0 S- |; c
0 K; M( Y7 Z0 O; x x
2. append() 方法向列表的尾部添加一个新的元素。
; B, ]! f* b: V) f
: O5 q6 @) W- ?. x3. 列表是以类的形式实现的。“创建”列表实际上是将一个类实例化。因此,列表有多种方法可以操作。extend() 方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。# O9 |, G, c3 O- T+ c1 i1 b2 O
( t9 A6 |6 h+ d# n, b6 L
- S+ W7 b- k! j& b9 U0 c4 t
2 _, Y! s5 w; l
extend的解释没看太明白,琢磨了一下
* q: }& S# K+ D/ B
% v5 [$ C4 ~- E) X9 {3 z: M6 H
. O4 s9 C* \: ?+ q# l l p2 ~! P& V9 b5 T5 y0 S: m7 K7 H- f
>>> myList = [1,2.0,'a']% L k! @) g. L a3 I# \4 D
>>> myList
! l; t# L: T; I8 s( l8 K ]# d[1, 2.0, 'a']
7 N2 s2 f! e, |3 I i+ R>>> myList.append('APP')
% H9 G J3 g' G( o>>> myList4 B0 ?. T* a, y9 ?3 ~4 j
[1, 2.0, 'a', 'APP']
9 Z5 O' T! v0 R6 d' v- W4 }>>> myList.extend([123,'abc'])( M( |7 R. e' D6 p
>>> myList
/ R4 E6 x. W! z# [. g* o[1, 2.0, 'a', 'APP', 123, 'abc']
4 t7 b1 Y' |0 o. w# Z% e>>> myList.append(1,2)$ r0 k# d4 O; A& e& h. q
Traceback (most recent call last):' k; b) r6 i2 V
File "<pyshell#69>", line 1, in <module>- ` _. z7 o& Z/ v7 m) a+ j
myList.append(1,2)% c" T) O8 L! r" _5 x6 @
TypeError: append() takes exactly one argument (2 given)6 A7 x# \' i' g* v6 M* [
>>> myList.extend([1],[2])
* A( ]" y g2 V# ?6 H! vTraceback (most recent call last):
, B. F( S# s O; f File "<pyshell#70>", line 1, in <module>; A- ]6 Q: a, N% y6 o2 t) S8 `# _
myList.extend([1],[2])
; P0 t' \% h1 E6 j: \4 g8 eTypeError: extend() takes exactly one argument (2 given)
, ]( v' A* W" f' U( [. R( E>>>0 c' p4 Q) [& T! @8 }8 y/ q! O, B
/ m2 z. I0 I) _. ~7 @, N* z : }& f4 n7 F% [1 e
5 ]% P C* V7 j* {2 l2 ?# a! T
结果如下:
; n9 U% B5 E/ G
* ]4 R9 X# ~* X) c$ e. e5 zappend和extend都仅只可以接收一个参数,
5 @3 T$ ?! u/ T; j; v$ L* z: [. R% I
append 任意,甚至是tuple
3 b# R4 u% ]+ t7 ]* }" z, ^: W0 d( r. C7 R
extend 只能是一个列表,其实上面已经说清楚了,是自己没看明白。 |
zan
|