- 在线时间
- 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的区别
0 _( ?9 P& D2 P* t1 X分类: python 2011-06-28 16:53 1477人阅读 评论(1) 收藏 举报9 L" v/ Y" P) d$ p* U' y; q
& S9 s2 T' |1 F9 t6 U* }/ c% V
1. 列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型。% x6 W9 R0 M/ I& F, e: h3 S+ T1 @& F
8 T+ o9 [* o% s3 C
2. append() 方法向列表的尾部添加一个新的元素。: O! x; D8 H! x& d( ^8 c& [8 M/ H% z
! `" ]1 i; B8 i* d4 e/ p. K
3. 列表是以类的形式实现的。“创建”列表实际上是将一个类实例化。因此,列表有多种方法可以操作。extend() 方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。, Z4 x" v9 S2 U3 _9 D
- e) x8 q9 X/ s$ R t- f, _: {$ o. o$ k8 n
4 A/ w% Y1 X1 r
extend的解释没看太明白,琢磨了一下; u$ F0 Z2 o Q
0 q* U0 [4 `" m& Z8 I
( |3 S/ ^4 P5 V$ P6 F& p7 Y' q" Q
, W5 g! j; q8 u7 U>>> myList = [1,2.0,'a']
W! J: ~+ z& ~3 K( d2 u>>> myList- P2 E: k. G( `- W) f0 Z0 L p
[1, 2.0, 'a']5 y) A. m4 l# O, j
>>> myList.append('APP')
$ y8 V/ Q6 N2 i>>> myList
1 M1 i; e6 e( O- o5 F6 D& d[1, 2.0, 'a', 'APP']
2 N4 |8 n" Z. a5 k# i>>> myList.extend([123,'abc']) f. Q; P2 E |* L7 A3 F- P" |) v! l" [
>>> myList' J/ c3 b4 m! C1 \1 |" s8 L
[1, 2.0, 'a', 'APP', 123, 'abc']
$ o6 M% {# M. z) _$ G& ]# x# i5 z>>> myList.append(1,2)
3 N$ J- W1 a z# L$ T4 ~6 X7 pTraceback (most recent call last):( y8 \( {" h1 U' F
File "<pyshell#69>", line 1, in <module>! N8 K) t( u5 s' X2 \2 z
myList.append(1,2)" ~6 ?/ D7 }0 A/ o$ R+ c, p
TypeError: append() takes exactly one argument (2 given)" o/ I6 B: m z6 I+ a x2 e0 X, x
>>> myList.extend([1],[2])+ v- d0 ~1 `$ w6 N
Traceback (most recent call last):& g: ^ x$ o$ q2 O7 J; A" f; t7 d
File "<pyshell#70>", line 1, in <module>( U) D" a0 i) [2 o+ A- q8 i. q7 @
myList.extend([1],[2])
8 s9 o! g* J) `- R7 o% y; ]3 [TypeError: extend() takes exactly one argument (2 given)# v- Z4 ?" k4 `7 g* t
>>>
. |1 l- W" k! n5 a/ Y
9 K2 J* @3 y* m3 F2 F+ f. Y
9 i/ E' p0 b: Z O8 R8 r
+ S/ B) n3 d$ Y$ y+ G" O结果如下:9 E2 s/ y: z- j, l+ h1 p# v: H9 q
$ ^7 D) f0 }0 h0 o2 [* m/ w# g; N F$ N
append和extend都仅只可以接收一个参数,
$ A( i& v5 m8 ^5 B7 F" g
- Y B7 G0 x" o/ M: `! }append 任意,甚至是tuple
1 p8 n. z; o& k' E* Y
6 G0 C) E. R/ S0 O" l1 g# B' zextend 只能是一个列表,其实上面已经说清楚了,是自己没看明白。 |
zan
|