- 在线时间
- 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的区别
6 \) I) y( n: L% Y' l; [2 e$ v* k分类: python 2011-06-28 16:53 1477人阅读 评论(1) 收藏 举报4 P3 l/ p$ o. l6 Y
$ J& Z# P( J) ^. [* N0 M$ P3 H1. 列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型。( C% F( o# o! c1 J
0 A1 T- H+ A4 P2 x/ o: ~" C p2. append() 方法向列表的尾部添加一个新的元素。
; X+ I8 n( N3 s# @5 F, Y/ _
; a' L7 }, @7 F& E4 X1 J3. 列表是以类的形式实现的。“创建”列表实际上是将一个类实例化。因此,列表有多种方法可以操作。extend() 方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。7 K! N& \$ `2 Y# j" O
5 w2 o7 b5 R' I
+ S7 K) D% `, H6 D3 G t( v; @
& M( M5 F5 D% H! D5 v, g9 h, P3 t2 I8 K% sextend的解释没看太明白,琢磨了一下
$ c7 j5 C% t0 s
+ E5 K, C4 Q9 L, x1 x( N; ^ : ? ]& n4 i" D4 q: P1 h
. j# W$ N( o* C$ |, X2 ^
>>> myList = [1,2.0,'a']
j \# @" U8 h8 M>>> myList
; O& T( C5 i: N) k3 M$ ]& A[1, 2.0, 'a']
. e7 @( {9 d7 S* i0 k% B- d>>> myList.append('APP')( @% F1 O. e" ~7 \* d' _
>>> myList
/ \7 c. x5 x* m) ?5 v[1, 2.0, 'a', 'APP']
" J4 o4 u Y8 A>>> myList.extend([123,'abc'])
: T/ h& C) x2 w& n5 D9 T5 B7 _>>> myList
2 r/ }" {! N. W5 `3 z; T" Y( l[1, 2.0, 'a', 'APP', 123, 'abc']
% P' o( a9 P0 Y2 F+ U0 T>>> myList.append(1,2)
: |2 U: _ ^/ N- A* s* fTraceback (most recent call last):; U+ F: Q, M2 o2 C7 d6 ?# ~
File "<pyshell#69>", line 1, in <module>8 [" ]& a. a# v6 x% C2 R' X
myList.append(1,2)
% }' U& r; f& gTypeError: append() takes exactly one argument (2 given)
1 u+ u7 ^) m. ]1 o>>> myList.extend([1],[2])' t. S5 ?: e$ `% Y$ u
Traceback (most recent call last):
/ F! s: N- D0 _ File "<pyshell#70>", line 1, in <module>% H# A9 }6 s& e! H
myList.extend([1],[2])5 j. L5 B0 V0 Y& Z: o+ C& f
TypeError: extend() takes exactly one argument (2 given)
1 x4 y4 F, E- ]4 K7 Y( X- D>>>1 \9 ]% O& q2 @( Q% T
$ j/ w- b" S `0 [
4 B( A# O2 i0 R. r" [' o
r% q4 a4 S# ?5 |结果如下:
3 K2 l* r2 _: C* c. G3 I/ I; W* ?! L, h( r k8 F3 S# V+ S
append和extend都仅只可以接收一个参数,
% z& O* _* M$ T2 a9 d A/ D
$ E1 A9 Y% n0 t2 w. ]* Jappend 任意,甚至是tuple
9 T6 E4 @* H+ t& A
+ L- e6 a3 k5 d0 c" r/ U- gextend 只能是一个列表,其实上面已经说清楚了,是自己没看明白。 |
zan
|