- 在线时间
- 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的区别
$ r8 Y* F# @9 o2 i7 M9 r4 i& _# X分类: python 2011-06-28 16:53 1477人阅读 评论(1) 收藏 举报5 b# K: O- L- w& G1 {5 g' u
/ f& ~! N9 A5 Q, _8 E$ {' z4 N
1. 列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型。
. v: d+ \+ x- m8 ~; I# J! n$ C4 i' K7 O
2. append() 方法向列表的尾部添加一个新的元素。
# ]) ]4 O; v8 b' P3 {! H
r8 M$ ?" p' Z6 i3 |, J3. 列表是以类的形式实现的。“创建”列表实际上是将一个类实例化。因此,列表有多种方法可以操作。extend() 方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。' G V0 Q! h# U- c! ]# X) i
; O; S2 M7 }; I) L2 Q3 Z. x
2 Q0 _' @$ X% _' q3 Q
" V9 f: N, S( hextend的解释没看太明白,琢磨了一下0 E0 B) f7 F5 I( X
& U4 m" J) z" {1 R
! f+ W0 ?( | x% }! v' O: L8 E7 e# S N
>>> myList = [1,2.0,'a']
" i2 j* z; c# @/ Q a7 ^>>> myList
8 X* z. n! |8 ^( R! a; ][1, 2.0, 'a']
# @) \; Y9 K. L& b0 H5 ?) Z>>> myList.append('APP')/ L! B, A( p0 E+ C5 {
>>> myList8 W+ ~7 Z2 D- y8 E0 J
[1, 2.0, 'a', 'APP']4 Y, a) L z( S2 [$ }
>>> myList.extend([123,'abc']). t# p# a3 k8 ~* l
>>> myList% {+ \% U: b5 p; C
[1, 2.0, 'a', 'APP', 123, 'abc']+ @4 `! Y" F+ b( F3 z1 d8 ]) q: f
>>> myList.append(1,2)( k. N. }7 P7 y3 M4 d8 Y+ K; E+ A# a
Traceback (most recent call last):8 }( J$ r9 C# J- g9 F
File "<pyshell#69>", line 1, in <module>
% o% ^2 }0 u! F4 F! H) ` Q myList.append(1,2)5 Q- J0 h/ W2 u& @/ p, ~8 r
TypeError: append() takes exactly one argument (2 given)
0 p& e: \* ]. y( Y$ k>>> myList.extend([1],[2])
' r O" g6 y9 t+ BTraceback (most recent call last):2 d: b' [- r3 C7 E$ z4 x
File "<pyshell#70>", line 1, in <module>: P: N1 b$ O1 B& o
myList.extend([1],[2])" P/ ^' M1 q* f4 z2 a9 k
TypeError: extend() takes exactly one argument (2 given)
7 x+ U- B; z5 S" [* ~6 |>>>5 r% X3 e( [( L+ ]( u& Z0 e
% c9 K+ B' `$ o: \ Q
" c) J4 u4 A1 y3 g: n% S# X' F: j5 q* K' d" e1 N
结果如下:" x8 Z9 ]4 G5 f" y4 m1 s
* L( p" O9 ]" `; v, k
append和extend都仅只可以接收一个参数,
# Z7 T! \& a, z2 v8 {4 x4 ^+ J% M. C. [
S8 P# r/ {# m4 u4 Happend 任意,甚至是tuple
: _* l+ x, S* g N7 ]
( C6 D2 P _* D4 U' Cextend 只能是一个列表,其实上面已经说清楚了,是自己没看明白。 |
zan
|