- 在线时间
- 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的区别
9 t5 Z1 q3 Q' p% J7 c2 R+ [分类: python 2011-06-28 16:53 1477人阅读 评论(1) 收藏 举报 h$ z: t, e6 x5 {$ s, V+ ~
4 k( R8 ]7 H3 |* ?6 f+ @8 N
1. 列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型。4 W+ W! P. `. u) {
0 d, v0 Y$ l4 a4 N) C& M, U
2. append() 方法向列表的尾部添加一个新的元素。8 P, e8 b* i# r# W, B8 L
) @: G* a; i# q$ A/ \% C3. 列表是以类的形式实现的。“创建”列表实际上是将一个类实例化。因此,列表有多种方法可以操作。extend() 方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。7 X. j: B* F; M5 D: L- ^; N
" ^4 s }& L5 t' G$ @: i
8 S4 M9 X5 ^2 X. ]9 k" t4 P7 i; b9 \! `; ~: P
extend的解释没看太明白,琢磨了一下
, b$ q! G* N8 v( N8 _; |6 B' Q/ N' ~0 ~, b# R0 @1 H
4 H1 f8 J/ L& l. c/ ?% T" d4 ^
' d, H7 Y! c0 p4 K0 [! m>>> myList = [1,2.0,'a']
$ s0 s$ |$ B0 D6 w5 U$ {4 L>>> myList
. h7 w ^( h0 Z6 X# G6 ~" F5 Z4 n# K[1, 2.0, 'a']" K N: \9 j# A* @: K
>>> myList.append('APP')
+ N6 b. ^) a, S% s) j>>> myList
8 l% v! C" V. C" _! \- r[1, 2.0, 'a', 'APP'] f! K4 j& Y9 `- O* A6 S
>>> myList.extend([123,'abc'])
4 G# Z$ E( y0 a3 I# Q>>> myList# [+ _) c! V0 ^- \- B# u2 ^
[1, 2.0, 'a', 'APP', 123, 'abc']
) o; W5 t2 z9 g A* `/ \6 q>>> myList.append(1,2)2 E: ?2 C7 U2 |
Traceback (most recent call last): a9 T" n+ J! B; w9 |# e
File "<pyshell#69>", line 1, in <module>
/ i" E$ X! D9 f& t _8 ?( k myList.append(1,2)
& h6 T/ k/ S, q! c- M0 pTypeError: append() takes exactly one argument (2 given)% j5 W) X1 d4 l2 D! `
>>> myList.extend([1],[2])
/ f4 d1 f# {9 I. [; Z- T$ kTraceback (most recent call last):
: z& U% [1 Z/ k' d) q4 Q: H File "<pyshell#70>", line 1, in <module>
7 s6 U5 n8 P6 C A myList.extend([1],[2])
6 b t. p. c2 O" i3 a9 PTypeError: extend() takes exactly one argument (2 given)) m5 _ L+ y8 _! K E4 Y! _2 C' w8 P
>>>6 }3 k* ]6 g0 S+ }5 b
3 c% Z# g- X# H/ ~' V ) E& G& ^; ^# R# m+ x3 {
. L e! A6 {" L4 d4 C
结果如下:* f: z! k0 K( Z" J# l, t
! ?" x# y( S) d* Z- ]
append和extend都仅只可以接收一个参数,
0 G$ h4 V9 N1 q( y4 e1 `
8 _4 h' p0 z2 [- m7 [ xappend 任意,甚至是tuple v8 W+ ^% P \; Z: h7 a2 M
- V4 a0 N7 c+ M `
extend 只能是一个列表,其实上面已经说清楚了,是自己没看明白。 |
zan
|