- 在线时间
- 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的区别
v. q9 Z0 V5 {4 I分类: python 2011-06-28 16:53 1477人阅读 评论(1) 收藏 举报% T7 M( P% _; n) k9 \7 s6 D4 S0 i$ j3 c
5 O1 M! x- y2 H
1. 列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型。
0 F. h7 w/ v9 C- Q
! T* K% {, y, r$ B. `8 O2. append() 方法向列表的尾部添加一个新的元素。5 H5 e8 }& {$ C% D
& c/ v+ W" W6 R B" ]/ K
3. 列表是以类的形式实现的。“创建”列表实际上是将一个类实例化。因此,列表有多种方法可以操作。extend() 方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。
( B( r1 l1 m; U# d" m
7 y) n8 `, [# @$ o& C0 ?+ S 6 x( q" G2 G8 f. G/ g1 r
. W: g3 y! l, l2 _2 j! m; P1 ]
extend的解释没看太明白,琢磨了一下
+ J3 Z7 a( c3 q2 C. Y/ h. V y- I b$ o! C# _& H# A
$ _: Q2 U" e5 ?1 p, ~' J w4 B
8 c) i7 u6 Z# b: w3 ?: i( V+ d>>> myList = [1,2.0,'a']4 t5 s. Q. T) y
>>> myList, T5 I+ c# m+ _4 f" Z
[1, 2.0, 'a']2 x8 U( `; g* u$ j( c
>>> myList.append('APP')) @ y# ?" |4 K: N0 C
>>> myList
t6 v# t! ?8 o& I+ p3 p# I' p[1, 2.0, 'a', 'APP']( x' l8 \5 a" g- x" H+ r
>>> myList.extend([123,'abc'])! p$ L/ r1 e Y9 T( S- B0 F ?- r
>>> myList
1 C! R( W, F6 L" n5 H[1, 2.0, 'a', 'APP', 123, 'abc']- \4 f1 S: u& h9 z; S; a2 l$ e
>>> myList.append(1,2)
$ d1 J! p1 [' a& u9 b, \& w+ S( mTraceback (most recent call last):$ F' K! y, y- c# M
File "<pyshell#69>", line 1, in <module>
2 ^5 w9 c! w! _6 }; n) G myList.append(1,2)
: m: W+ W: E" yTypeError: append() takes exactly one argument (2 given)- _8 `" p$ [- d$ n
>>> myList.extend([1],[2])
2 m6 c/ m; q1 q& ZTraceback (most recent call last):# R7 S( n& F! T/ r% L/ n5 q
File "<pyshell#70>", line 1, in <module>/ ~6 K4 A2 s) j! T' [
myList.extend([1],[2])
" U& A: V) U" tTypeError: extend() takes exactly one argument (2 given)
9 r3 N! }3 B! h3 M9 M>>>) \$ o( Q* s9 K( `! s4 n- P
% b/ m( p) Q5 ~! G: |# L ( Q' R+ A/ h- q% Y, O
" n- |* C* D- E- Y/ Y/ X; W; A结果如下:
% i4 h$ B# Z0 |5 w7 I, y
: X* G& S, E+ _7 Q$ S* T- s' L9 Sappend和extend都仅只可以接收一个参数,5 f0 n$ o. A6 S4 c2 I
: ?% g" `+ D' O6 U e- n
append 任意,甚至是tuple* q) _6 y6 { O& g( N
3 z& V) g' ], [6 O
extend 只能是一个列表,其实上面已经说清楚了,是自己没看明白。 |
zan
|