- 在线时间
- 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的区别
& C2 |& v+ J8 N3 {$ B. Y分类: python 2011-06-28 16:53 1477人阅读 评论(1) 收藏 举报
3 c I% l9 e& |% E! [( |- I; K! d# A0 N# \; _' ^' e9 A2 ? ?
1. 列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型。
: r; |3 M" L% `4 n; ?
+ B2 X! [# A1 e' Y2. append() 方法向列表的尾部添加一个新的元素。
' }/ a; n4 D& a1 @2 _9 I! r- P4 F2 B4 U, f
3. 列表是以类的形式实现的。“创建”列表实际上是将一个类实例化。因此,列表有多种方法可以操作。extend() 方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。
* Q: B! w+ _) j+ O& L8 f# e( j8 h
2 |5 {, j7 n" t' i( R7 ?* Q: s , [- c X- F3 E. z K
) }& i6 {& a. W6 K
extend的解释没看太明白,琢磨了一下3 Y' [' i+ f* G- f% A' Y+ P; k
0 P) C$ |# Z+ p b/ `: S
w7 ]( H! S! d) W( l! Q/ u+ @5 R
! S+ e: E1 P! S
>>> myList = [1,2.0,'a']
3 L) j2 P* w8 h4 i/ V. _! h% p1 |>>> myList
/ o' T, p/ \0 t9 Z% j1 ]7 c[1, 2.0, 'a']& n- E- D8 r, Y9 q9 h- A
>>> myList.append('APP') v _% P( g6 o6 A- b+ |
>>> myList
. w" z/ D9 z7 @5 O# Y# E/ c[1, 2.0, 'a', 'APP']
* N( h% x% f- }* ~3 d>>> myList.extend([123,'abc'])
# _! p$ h H1 S: |8 E>>> myList4 P/ g& w+ i" _8 Q7 r
[1, 2.0, 'a', 'APP', 123, 'abc'], d& e- G" s# V9 h' V
>>> myList.append(1,2)
1 b `' e2 u3 | @Traceback (most recent call last):
% @- j4 a1 }* { File "<pyshell#69>", line 1, in <module>
& m% [2 ]* n- B7 S _ myList.append(1,2)3 j. Y* |% P5 l$ D
TypeError: append() takes exactly one argument (2 given)
. d/ D( N: v1 b' G4 f1 U>>> myList.extend([1],[2])
8 C# J5 g+ H0 E8 q2 O# HTraceback (most recent call last):$ Y1 h# }- B8 s! \# H
File "<pyshell#70>", line 1, in <module>
. F0 x; @- ? X1 I' k myList.extend([1],[2])
* @& j/ V# f& w( K) w$ z, l2 KTypeError: extend() takes exactly one argument (2 given)
9 i9 B, [, I2 G& S2 A>>>
5 f3 P9 _9 ~% K5 j
' T( ?2 Y, Q/ k( ]# R4 C1 w" D 4 x9 H' F: `) Q9 O% ~) Q/ l! |9 R
6 q' o* R/ N O+ M
结果如下:
% k/ B8 Z1 O6 m# ]$ Z
4 h" t$ H A3 j2 P, K wappend和extend都仅只可以接收一个参数,
& o5 x, a- q9 [3 u
( t+ ? Y3 s" e* @& \ [$ H8 Fappend 任意,甚至是tuple6 S/ S7 @, _5 x; {
" P: F1 W" K Y
extend 只能是一个列表,其实上面已经说清楚了,是自己没看明白。 |
zan
|