- 在线时间
- 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的区别
5 ~: ]" O+ U/ E0 h0 J) V l8 u分类: python 2011-06-28 16:53 1477人阅读 评论(1) 收藏 举报
2 p. [& g/ w) k% t' e* m
) F" @9 v! `; f& l1. 列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型。
9 e5 ]+ j t: W- y
4 _$ i5 L+ t" {" V% z/ L" q2. append() 方法向列表的尾部添加一个新的元素。+ W: y% \5 l3 P- C, k0 O, @: N
5 |( ]4 `( z9 C7 s7 x. k3. 列表是以类的形式实现的。“创建”列表实际上是将一个类实例化。因此,列表有多种方法可以操作。extend() 方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。0 h6 a7 D0 X5 r- K5 H7 F
* u& i3 P3 N8 d
* X& h8 m9 K' b# F$ c+ j+ l3 K1 ~3 g( U) t
extend的解释没看太明白,琢磨了一下
! e. x9 F+ O0 a0 _; B" h" O# ?( b, ?/ S! E# \
+ l {/ b, \1 m4 i5 F0 s3 e T; M8 Z: Y' Y( A9 i8 X3 h
>>> myList = [1,2.0,'a']
& ~& T2 P' Q- H$ p9 Y* h7 v l>>> myList" X% R; {0 k1 w$ l2 b
[1, 2.0, 'a']
/ s. E) u' F0 e0 ?>>> myList.append('APP')
$ _( D* f& P. I+ ~6 f9 c7 e2 T>>> myList A; k4 I! r6 D; J& D& E7 `7 s
[1, 2.0, 'a', 'APP']* f5 u2 R6 P0 V2 ?
>>> myList.extend([123,'abc'])
+ Y8 t4 k- M p9 D0 J$ g* K/ T>>> myList
7 q! x0 n# ]. `[1, 2.0, 'a', 'APP', 123, 'abc']
( |0 X/ U6 t" q% U& W1 w7 _>>> myList.append(1,2)1 Q- o' h0 u) V! F0 E* @+ e( K' [' `
Traceback (most recent call last):: K9 A% } s. q7 x7 p
File "<pyshell#69>", line 1, in <module>
. B2 M5 C1 N" O& ^ u myList.append(1,2)
# ^3 X0 g0 |& E$ [1 S+ b7 \% STypeError: append() takes exactly one argument (2 given)
) h, {* o. I# N$ a>>> myList.extend([1],[2])
/ i8 T* W! W4 T8 ~1 T- |* iTraceback (most recent call last):
' \$ n0 c3 C+ L; U) f File "<pyshell#70>", line 1, in <module>
3 l4 L' z1 W- v; ` myList.extend([1],[2])
2 o4 ]. `" c0 \ n9 uTypeError: extend() takes exactly one argument (2 given)
0 \5 ^2 N, a. y! L5 q* n>>>3 a5 q/ _) G* A
8 l, z( p8 n2 c' P: O
- w% d0 O+ A5 u6 c5 b2 I6 K4 X, |2 t$ ~% ], y# d
结果如下:5 Y+ q3 e v# M. M
% |3 |1 _+ R( I7 b5 r. Qappend和extend都仅只可以接收一个参数,+ i( r" ^' p7 a: y
3 `$ X* x n; D7 S1 S+ M6 X6 I1 V
append 任意,甚至是tuple
. e( [7 J) d' @, u' w
0 T0 i& v3 t! v# b: x- ?) qextend 只能是一个列表,其实上面已经说清楚了,是自己没看明白。 |
zan
|