- 在线时间
- 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的区别2 r& X5 N T" B6 `& m
分类: python 2011-06-28 16:53 1477人阅读 评论(1) 收藏 举报
! o B; n+ m* u2 s; P7 F) K# @) E3 ~" Z5 d. s3 b
1. 列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型。% M' A3 r" i( J* Y& ?* I- }) H- C
$ j" z- r$ P! f# @$ l
2. append() 方法向列表的尾部添加一个新的元素。
% K$ X- j9 e7 X3 @- o
5 F; K0 q+ a( ?" Y) P3. 列表是以类的形式实现的。“创建”列表实际上是将一个类实例化。因此,列表有多种方法可以操作。extend() 方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。
2 S: P1 U3 K* G+ P+ J
9 y) c8 \/ {+ K [8 ^1 E3 M 5 E+ j9 Q; W$ Q* h. G( P4 D3 T( s
$ j+ ]* W4 G, F2 f$ N% c) a
extend的解释没看太明白,琢磨了一下
- F% z/ m& O0 _+ Z/ ~9 M/ H: R
: B4 S( R$ r" _( X& z+ y - _3 t: Q) r5 g y
" p2 p$ W0 f, B ^0 K' f, s>>> myList = [1,2.0,'a']9 c3 r) |4 B" M: t2 @
>>> myList
5 f) R8 ~- W) `/ _3 Q' [[1, 2.0, 'a']
: k7 w2 C) i4 M0 \) Z7 b>>> myList.append('APP')6 V' A9 o$ r u9 ?3 Y7 P# A7 n' C
>>> myList& O$ d! n% q* V* Y9 G+ a
[1, 2.0, 'a', 'APP']/ e4 i# d/ K2 d- A3 H. L, ^
>>> myList.extend([123,'abc'])& `* x' y0 \( T8 {" `
>>> myList
( q: g* ^4 C% m& X: A5 X# g4 V[1, 2.0, 'a', 'APP', 123, 'abc'], o- |9 C' e$ j9 X
>>> myList.append(1,2)
8 p! G. j* W; A% o0 mTraceback (most recent call last):
9 }. A2 [$ \, h( ]; y& y9 d9 a0 H8 i- x File "<pyshell#69>", line 1, in <module>
) u' m, k Z/ ^( w3 y0 e1 v myList.append(1,2)
3 G; s6 q# T" ~2 J/ ~4 dTypeError: append() takes exactly one argument (2 given). ^% b* R6 Z# v: {4 w1 h: _
>>> myList.extend([1],[2])
0 j5 G: f$ x' }) u1 DTraceback (most recent call last):
+ n' T4 ^$ g i# g! Z File "<pyshell#70>", line 1, in <module>; H$ `6 V2 u% q8 T2 x- G# u
myList.extend([1],[2])6 j- j% u% V# i" O/ z9 d; C6 h w1 e
TypeError: extend() takes exactly one argument (2 given)6 g; T$ w8 n. L! S% V
>>>
8 m. `( W0 P$ t* W/ \7 O s( L
& I! z( k* O4 K- h, L ' p3 q. S4 L: V, E$ T: C
6 X) ]* ?5 d e9 Q6 B& ^结果如下:
! J$ _3 v+ I* ?4 k
3 J+ q+ j# t) b* Kappend和extend都仅只可以接收一个参数,
( Q/ ]( @, I1 _$ N3 C8 q, b5 Y6 n; ]& [/ F! i$ Q b
append 任意,甚至是tuple
- u9 |) e0 u# ~: g& D L6 n V. i# H9 `5 U8 _
extend 只能是一个列表,其实上面已经说清楚了,是自己没看明白。 |
zan
|