选择显示字体大小

python 快速入门(二)


   原作者:xina

string vs list
string 也和 list 同为 sequence data type,也可作 slice operator,但 string 为 immutable object,不可修改其内容。


1 a = 'hello world!!'
2 print a[-7:], a[:5]

结果显示 : world!! hello





1 a = 'hello'
2 print a[1]

结果显示 : e



string 也和 list 一样,可以 subscript (index) 其中的 item。python 并不像 c/c++ 般, python 并没有独立的 character type,string 的 subscripted item 为一长度为 1 的 string。

nested list
list 里的 item 可以为另一个 list object,成一个巢状的结构。


1 a = [ 1, 2, 3, ][ 'abc', 'cde', 3, 2], 5]
2 print a[3][1]

结果显示 : cde





1 a = [1, 2, 3]
2 print len(a)

结果显示 : 3



len() 函数传回 sequence type object 的 size。

tuple & multiple assignment



1 a = 'foo'
2 a, b, c = 9, 8, a
3 print a, b, c

结果显示 9 8 foo



行 2 称为 multiple assignment,可以同时指定多个变数的内容。


1 a = 1, 2, 3, 4, 5
2 b = 1, 2, a[:3]
3 print a, b

结果显示 : (1, 2, 3, 4, 5) (1, 2, (1, 2, 3))



行 1 bind name a 为 (1, 2, 3, 4, 5),python 定义为 tuple,同 string 为 immutable sequence data type, 不能改变 tuple object 的内容。a = 1, 2, 3, 4, 5 和 a = (1, 2, 3, 4, 5) 是相同的,称之为 tuple packing, 把 1, 2, 3, 4, 5 这几个 object 包成一个 tuple object。


1 a, b, c = 1, 2, 3
2 (e, f, g) = 5, 6, 7
3 print a, b, c, d, e

结果显示 : 1 2 3 5 6 7



上面的动作称之为 tuple unpacking,将等号右边的 sequence type object 解开成数个 object 和等号左边的 name 进行 bind。左边 tuple 的长度必需和右边的 item 数目相同。


1 a = 'hello'
2 a, b, c, d, e = a
3 print d, e, a, b, c

结果显示 : l o h e l



在 multiple assignment 的右边可以为任何 sequence type。

dictionary



1 tel = { 'tony': '111234', 988: 'common' }
2 print tel[988], tel['tony']
结果显示 : common 111234



这为 dictionary (assocative array) 的使用范例。可使用任一 immutable type object 为 key, 用以对映(mapping)指定之 object。


1 a = (1, 2)
2 b = (3, 4)
3 c = (1, 2)
4 d = { a: 'aaa', b: 'bbb' }
5 print d[a], d[b], d[c]

结果显示 : aaa bbb aaa



tuple 也为 immutable object,所以也可作为 key。因为 a 和 c 所 bind 的 object 为相同 value 的 immutable type object,因此得到的结果是相同的。tuple 为 key 时, 其内容不可包含任何 mutable type object。


1 a = { 'foo': 'aaa', 'boo', 999, 'coo', 887}
2 print a.keys()

结果显示 : ['boo', 'foo', 'coo']



keys() 为 dictionary 的 method,传回包含所有 key 的 list object。key 的放置不依其次序。


1 a = { 'aaa': 9999, 'bbb', 8888 }
2 for i in 'aaa', 'bbb', 'ccc':
3 if a.has_key(i):
4 print a[i],

结果显示 : 9999 8888



has_key() 为 dictionary 的 method function,用以判断 dictionary 是否包含某 key。


1 a = { 1: 'aaa', 2: 'bbb', 3: 'ccc'}
2 del a[2]
3 b = ['aaa', 'bbb', 'ccc']
4 del b[1]
3 print a, b

结果显示 : { 1:'aaa', 3:'ccc'} ['aaa', 'ccc']



del 指含可以打断 object 和 key 之间的 binding,并将 key 从 dictionary 去除。可以将 list 中的 ele.net 去除。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons