Major Data Structure/Class in python

上一篇 / 下一篇  2007-05-15 15:57:33

List
2n'H G4KA Y0列表是可变的数据类型,即这种类型是可以被改变的。
5x] j$`b3Y9dF:\X |0 

$g3~U x w(oI0shoplist = ['apple', 'mango', 'carrot', 'banana']

]Z8fwzZ S?6s0
Linux宝库$md Z$f)z

 Linux宝库Y8x*Dq,[

$?5\ m!Z5tw#c ?+Z0sort方法来对列表排序。需要理解的是,这个方法影响列表本身,而不是返回一个修改后的列表——这与字符串工作的方法不同。Linux宝库#tjZ*T0HC1VKE I

Linux宝库G:W!ch0XL ?5BM


q/~ J$NbVgq0Tuple
&al@5s)I0
元组和列表十分类似,只不过元组和字符串一样是不可变的即你不能修改元组。

+hvQW:~"Zk0
Linux宝库qq"nY*^X3E

zoo = ('wolf', 'elephant', 'penguin')Linux宝库vW gg:m V:C~8p

lF+vt?0iC:k4a^0 

_)j rTd/X@ @|w]0Linux宝库;k$\&s+N&_

元组的不可变特性可以是它成为字典的索引,而list不能。
7_-V0Yg%m6t P'b0含有0个或1个项目的元组。Linux宝库!rmWSBq

8WMNo&F;?0

!km}:G l O h |x0

H.K?p,|6y0myempty = ()
WkRHt~1R+q"g)e0singleton = (2 , )<-python的singleton实现?Linux宝库0@F i r9B

Linux宝库H|6wC,fwY0uJ

Linux宝库-m+{ n.y&m0R n

 Linux宝库*~-vI-N3OG,]@}RJ

Linux宝库bp Zu5n,d;M

 

!i'|,e N!DF1O-G:NM0

&A[:t?g{!O P0print语句可以使用跟着%符号的项目元组的字符串。这些字符串具备定制的功能。定制让输出满足某种特定的格式。定制可以是%s表示字符串或%d表示整数。元组必须按照相同的顺序来对应这些定制。

!w)j xA hD;S0

-rG*f+WQu4}$D0
^n_ |pA1xFf0DictLinux宝库k7sn?3S[?+~&d
把键(名字)和值(详细情况)联系在一起。注意,键必须是唯一的,就像如果有两个人恰巧同名的话,你无法找到正确的信息。Linux宝库(mcU!jM8a+A7v"|

RF)MS)qla)n1|&D w0ab = {       'Swaroop'   :'swaroopch@byteofpython.info',
~ o q`;u(nI0             'Larry'     :'larry@wall.org',
$W&IpWYl3e9}$U0aV0             'Matsumoto' :'matz@ruby-lang.org',
m @f O7_BUi0`0             'Spammer'   :'spammer@hotmail.com'Linux宝库:cnK.QCL'tQH4X
     }Linux宝库i:H0k*hP kv

d(jOi P+T1}E\-elm0Linux宝库n#\Y0j1J1X%E,U

 Linux宝库'p9?nM#Bf'i

Linux宝库0\_ K v9d,O4]:ij xn

 

[p9F4xgY4q0Linux宝库 @qdlZ*Pr X

 

,Y4S N w&}w&W4T0

F/ifY'H6{.[/e9eHM0del语句来删除键/值对。我们只需要指明字典和用索引操作符指明要删除的键,然后把它们传递给del语句就可以了。

2of2c/O {;tzj0

Z#y Hf7m+X*_ g,tY0用字典的items方法,来使用字典中的每个键/值对。这会返回一个元组的列表,其中每个元组都包含一对项目——键与对应的值。Linux宝库#f1St,yW(]6w

Linux宝库m^2o&L1K Q

用in操作符来检验一个键/值对是否存在,或者使用dict类的has_key方法。

Y&F/pc-c!]0Linux宝库 K)cpU4Pn n v?

关键字参数与字典。如果换一个角度看待你在函数中使用的关键字参数的话,你已经使用了字典了!只需想一下——你在函数定义的参数列表中使用的键/值对。当你在函数中使用变量的时候,它只不过是使用一个字典的键(这在编译器设计的术语中被称作 符号表 )。Linux宝库c6P6G3R ls8}id B

Linux宝库 s,d2YjtW

Linux宝库^%h5cIE#?r
序列

6iXY&^3QKS"Q N*t0

A_gb {W&a E0序列的两个主要特点是索引操作符和切片操作符。索引操作符让我们可以从序列中抓取一个特定项目。切片操作符让我们能够获取序列的一个切片,即一部分序列。!而且切片是一个copy操作。Linux宝库 f&R-IILJ

:\w ewI8om|q+C0ReferenceLinux宝库;xMkJeQ
类似C++/Java中的reference,以下代码展示如何取得一个reference和一个copyLinux宝库Bg2{!w}|

3tdE[ ~R0

|:[)J9be!I+bPg0mylist = shoplist #referenceLinux宝库H UYR6}
mylist = shoplist[:] #copy of shoplistLinux宝库([ m }.aI+V pE.MV2]

Linux宝库;BLoZ6D!P:`!r8tQy

Linux宝库R5EnAN-kl0j M

 

/Y.oXx ?'_C0
相关阅读:

TAG: Python python

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

数据统计

  • 访问量: 7045
  • 日志数: 14
  • 建立时间: 2007-01-15
  • 更新时间: 2007-07-06

RSS订阅

Open Toolbar