- 在线时间
- 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的区别
8 g1 V8 U" H6 b( _+ V/ Z4 k1 d分类: python 2011-06-28 16:53 1477人阅读 评论(1) 收藏 举报
7 a: A0 N0 h3 |7 e/ e/ a/ R* i$ ]- w% D
1. 列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型。
2 _8 M6 A$ o$ \; P
$ {& l% @/ d7 R2 d4 {9 p2. append() 方法向列表的尾部添加一个新的元素。( ~2 [( {0 s4 R/ Y) K8 p
' V1 k* _' S4 s/ K6 y" \4 \
3. 列表是以类的形式实现的。“创建”列表实际上是将一个类实例化。因此,列表有多种方法可以操作。extend() 方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。
% {' z9 _5 Y- {$ A( B6 c1 f5 ^) m# M) @
! v$ @2 t+ }/ u9 i
% @# S1 s" ~( L8 C" Y) m6 W
- ]' m) x( V ~: |9 g/ yextend的解释没看太明白,琢磨了一下
1 i) R- o( {: ]0 @0 e/ i' j* B9 ?+ y2 X. ~+ R1 G
' R# G/ }* Y2 |
: v3 z& g! j/ z& w" `>>> myList = [1,2.0,'a']# S5 y+ f6 N6 |$ F# b
>>> myList
0 L+ O& K% N# s9 q# \' Y[1, 2.0, 'a']
/ _1 d( t' r0 x>>> myList.append('APP')( \. l$ p! i% J) J0 s) ?
>>> myList- U4 `8 O$ _, Y) F" L8 w; ?; _
[1, 2.0, 'a', 'APP']
' w" x% J# f4 @: |0 _& ]) m>>> myList.extend([123,'abc'])
: e3 E# a- m$ ]>>> myList3 j3 L3 K8 w$ ]
[1, 2.0, 'a', 'APP', 123, 'abc']( ~/ w8 J3 y4 {9 B
>>> myList.append(1,2)
0 t( ?2 o% ~' [3 ], qTraceback (most recent call last):+ W& d- e3 H6 ~" C
File "<pyshell#69>", line 1, in <module>
7 g6 W% X5 z2 ]" ^7 S& L myList.append(1,2)- I9 k3 @1 f* B9 s( d% ?' s
TypeError: append() takes exactly one argument (2 given)
6 w3 y3 ~7 i# ^>>> myList.extend([1],[2])
; [4 _: B7 u0 bTraceback (most recent call last):: I! [# D9 \% ~! B; `0 y
File "<pyshell#70>", line 1, in <module>
4 O5 U% h1 Q: n" j# h- T! u myList.extend([1],[2])2 G0 v' z7 E5 A3 T# P4 m: X
TypeError: extend() takes exactly one argument (2 given)
: M- F7 x6 {8 E0 }( K>>>6 \2 B y% m+ ?0 V' U) i6 k
4 [) Q9 L6 V; `# @' v) ?" B
; g( j" g$ S0 Y( D1 c( `2 N1 K6 P, u1 H7 Y, l0 I) a
结果如下:
0 b5 v W' ?& o9 H( `$ A& C' M/ ?4 E5 b5 y i/ I2 ~6 c
append和extend都仅只可以接收一个参数,6 b( |5 N! P# K2 P+ e0 s! C; S
+ u x4 O/ p$ l+ k2 V* V9 fappend 任意,甚至是tuple
" `) B& i# f5 `( S) `: h; C% D1 y0 O' L0 E3 p
extend 只能是一个列表,其实上面已经说清楚了,是自己没看明白。 |
zan
|