- 在线时间
- 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& c9 y3 K$ }# I2 m4 L( b5 I分类: python 2011-06-28 16:53 1477人阅读 评论(1) 收藏 举报( v8 D; C& [! r1 x
; Q# Q ~; J" j
1. 列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型。
. ?" y/ v6 H5 H0 p6 U1 q1 K( t
\9 l3 w+ y0 a( ]2 ?" z! w( L5 K2. append() 方法向列表的尾部添加一个新的元素。
/ R4 N U9 v" o3 |4 p7 v7 t3 m7 O" q4 x
3. 列表是以类的形式实现的。“创建”列表实际上是将一个类实例化。因此,列表有多种方法可以操作。extend() 方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。
6 s7 ` c9 @0 f/ w; l! Q) n
' N( n* T) `% q$ i. k% D" a , l, K _- t1 y. b: Y: C
! a9 v/ m9 @& F. s/ I& E0 rextend的解释没看太明白,琢磨了一下
$ O) g1 ~$ P. b& z- O8 }" m9 Y$ c( F
1 {% p- g( p2 a# _
, }6 O; V+ a& L9 `" M+ V' X$ U! a6 r/ q& Y. M
>>> myList = [1,2.0,'a']: ^- [) e2 F% g
>>> myList4 E! C+ R) G9 }& F
[1, 2.0, 'a']6 A4 J$ `1 A- o; N$ I' ^
>>> myList.append('APP')
r3 r% l) Z. M. [8 f1 z>>> myList
, e. b) V! {$ Z- m) o2 [+ v$ M7 r[1, 2.0, 'a', 'APP']+ i6 d [) V: z2 z5 S
>>> myList.extend([123,'abc'])) @/ g; R* x9 r) @, e
>>> myList
; h E$ I( q' {; P; C[1, 2.0, 'a', 'APP', 123, 'abc']2 j& i( A3 p x8 }/ q4 `
>>> myList.append(1,2)
% {1 P0 N' R8 {6 aTraceback (most recent call last):
7 I+ Z% L" V Q2 Y) l9 a File "<pyshell#69>", line 1, in <module>
2 Y$ b! n2 |9 L0 ~+ g! D7 ]) _: ^" z myList.append(1,2)
# [* M! {) n; X. B) RTypeError: append() takes exactly one argument (2 given). d0 D8 X3 M% r0 i! Q
>>> myList.extend([1],[2])
: N- |7 Q" w# f4 Z2 f% cTraceback (most recent call last):
" ~; [0 c0 q: e7 x/ W. s3 O P3 v File "<pyshell#70>", line 1, in <module>
* j7 R: ~& P: M* B& f myList.extend([1],[2])2 c1 w1 C+ B: k7 w7 [: W( L2 `
TypeError: extend() takes exactly one argument (2 given)) Q2 ]- `% ]! I4 l) t
>>>
6 T3 l" _- |7 y; D. s' B, h( F" y% I& h* U7 f2 ~% E. D" U, S0 @( B/ m3 m
! w# t6 m+ ~7 W/ d
( }- n3 A, y- e3 @
结果如下:7 s/ `1 h8 h7 T, ~
( o" x. H, i6 p- N5 Y+ x+ Q2 ~
append和extend都仅只可以接收一个参数,
, k0 i( E' r. X) @0 R$ l0 n
3 t1 z" j6 _6 f% g& ^# w" iappend 任意,甚至是tuple
b4 v3 f& J4 i2 l, C& |5 q9 k+ N0 V2 I
extend 只能是一个列表,其实上面已经说清楚了,是自己没看明白。 |
zan
|