数学建模社区-数学中国

标题: python 添加元素 [打印本页]

作者: Seawind2012    时间: 2012-5-27 23:28
标题: python 添加元素
python list之append和extend的区别. O$ e' r6 V! H9 C
分类: python 2011-06-28 16:53 1477人阅读 评论(1) 收藏 举报
8 z6 Q- \! x: J5 s6 p+ ?: k7 x- t( r9 {
1. 列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型。
+ K/ t/ a( C+ \" ~  }3 C# ~
" D, d# X0 H, X2. append() 方法向列表的尾部添加一个新的元素。1 {( {  A$ L$ i

1 m3 a9 j4 t9 C9 Q8 u# v4 z3. 列表是以类的形式实现的。“创建”列表实际上是将一个类实例化。因此,列表有多种方法可以操作。extend() 方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。
3 F0 L5 b: r" w7 t# l- d, _/ B/ U, ~
0 V0 x! Z! W( i% V' d3 B- p% z
% I. {, O. Y$ g1 X
extend的解释没看太明白,琢磨了一下1 Q5 `+ W" g; A. z1 e) U

+ l* Z, ]' ~' I1 v
7 S. {6 c( u0 ^2 D
0 L1 j# r4 D' \' y' W6 _" @  |>>> myList = [1,2.0,'a']
/ O+ l% F1 F" v! r>>> myList
6 ]3 \* W( Y6 b1 Y6 g- B; t% K[1, 2.0, 'a']
" X: H7 S2 U7 E+ x/ t>>> myList.append('APP')$ L8 c! f  k: q# T* O& n
>>> myList
8 F6 l( g5 T3 d7 }, v/ u[1, 2.0, 'a', 'APP']
9 s$ {6 P' Y4 B3 h* T- Y4 P; d+ g>>> myList.extend([123,'abc'])
0 F! w5 P- L% ^3 j, M. y3 K>>> myList
* L7 V! {0 }0 k: ^: M' h* j" d[1, 2.0, 'a', 'APP', 123, 'abc']
& c: U8 h1 w7 d+ D& a>>> myList.append(1,2)
. i+ `2 C. c% G7 I, {Traceback (most recent call last):
' M4 w( Y3 K- l% G2 X) `  t3 j  File "<pyshell#69>", line 1, in <module>
! X0 l* C) i' B& G! y    myList.append(1,2)5 H! \7 m! V9 L/ v! k$ X
TypeError: append() takes exactly one argument (2 given)
( ^, Q% P( W$ ?7 s2 g: ]4 q>>> myList.extend([1],[2])
1 l6 \+ B" n" y" BTraceback (most recent call last):# X% j* |% y9 Z- ~9 y
  File "<pyshell#70>", line 1, in <module>6 k4 x3 Z) {+ z5 G5 A
    myList.extend([1],[2])
6 [' P' e- ^' D8 v7 c" GTypeError: extend() takes exactly one argument (2 given)4 t5 Y, r4 s! J2 q
>>>
3 H$ `% k  I, ?+ L' [# ^) W# p  A9 R6 u% g; Z/ I0 K% X! i

# Q  B8 Q8 C8 _3 [
0 m& L3 i) N+ ~7 \结果如下:
" G# q. D" [( ]+ ]3 g2 [& N! w, H* ~9 s& t* p( D* @
append和extend都仅只可以接收一个参数# A1 j: ?9 l0 P* m! ]4 e

- {! f0 v/ [6 e3 X7 R9 R; Fappend 任意,甚至是tuple
0 Z, T+ X- \/ L4 B6 d: G
5 C6 H. {' D# X+ ?- f7 {, L# Oextend 只能是一个列表,其实上面已经说清楚了,是自己没看明白。




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5