- 在线时间
- 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的区别1 v1 c M) ]' N; s
分类: python 2011-06-28 16:53 1477人阅读 评论(1) 收藏 举报2 N" D$ r/ Q, ^$ L: m' X8 n
6 o B, ^- E5 j E, k' d' W1 {
1. 列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型。
; B( x8 x$ |1 \1 U; X7 r; E; r
& j4 G, I3 N; d3 t# N% Y4 K3 @8 X2. append() 方法向列表的尾部添加一个新的元素。4 }, p% p" u9 }3 g$ T
7 M5 s5 ? ~. ? h
3. 列表是以类的形式实现的。“创建”列表实际上是将一个类实例化。因此,列表有多种方法可以操作。extend() 方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。
* X! u$ j8 |3 w3 P& y8 a1 b; E& @
# F2 e8 [6 V: B8 X ( D* \2 P( B3 W, u9 W) F
8 n! x( C& e6 pextend的解释没看太明白,琢磨了一下+ O T2 R$ {. k0 M3 [' c2 N
8 E5 }5 O. D- C/ W/ |
& x! t) [$ O. S; g9 A7 U- i& J; m6 P# |9 G, ]
>>> myList = [1,2.0,'a']
/ ~0 q9 ~: v: t& ~7 b>>> myList. i3 i5 G' L m2 G
[1, 2.0, 'a']
7 i$ u' c+ n/ }>>> myList.append('APP')+ f7 [7 |' b8 X6 Q1 G7 C
>>> myList* V% I9 t. B' U( L6 V6 ]6 Z- n
[1, 2.0, 'a', 'APP'], k* d' a- Q7 g& _3 d# z- k
>>> myList.extend([123,'abc'])
$ X$ x6 z* U1 i- S>>> myList
& w! ]2 N3 w- T[1, 2.0, 'a', 'APP', 123, 'abc']* V: p Q# b5 {0 u4 k, w
>>> myList.append(1,2)
& Q9 \/ m. F" x( ]! T+ NTraceback (most recent call last):
3 |, P% W: G1 W5 R6 z+ U# f0 Z. o File "<pyshell#69>", line 1, in <module>6 p* a8 C- W/ S: @( s
myList.append(1,2)
6 f+ h2 P8 a; q3 d2 d3 @TypeError: append() takes exactly one argument (2 given). q- O* [: k: |# G7 @2 J7 ]* g
>>> myList.extend([1],[2])3 k& o E' [ g& b/ w! c* I; Q* O% @
Traceback (most recent call last):4 F' Y' H2 Q6 w0 T# u# e
File "<pyshell#70>", line 1, in <module>
1 t5 S" z0 l* O: @ myList.extend([1],[2])
9 C5 ]; ~2 e! @! [TypeError: extend() takes exactly one argument (2 given)% @, M: b5 Q# ~9 p
>>>- `# d5 \ e* K
* \$ j) _6 O: I( v1 F6 {
8 n( H4 L; ?" M1 W4 N# r$ z
$ }. t$ n; i5 L6 F& E" \结果如下:
) `. ~3 E7 B: F% @4 d8 N$ c8 A1 N4 L6 M+ Y! _: g
append和extend都仅只可以接收一个参数,
1 y4 [0 f2 S$ l) G' _+ K z* x
% [1 U; L$ e6 Z$ o" h4 {append 任意,甚至是tuple
- h2 D6 M& Z4 i! D4 S4 |" Q/ {) G9 w* A8 U- p8 T, `
extend 只能是一个列表,其实上面已经说清楚了,是自己没看明白。 |
zan
|