您的位置:首页 > 编程语言 > Python开发

python 进阶学习之9

2014-07-21 20:01 302 查看

序列

有序排列,包括下面这些:字符串(普通字符串和unicode 字符串),列表,和元组类型。

成员关系操作符 (in, not in)

>>> seq=[1,5,7,9,77]

>>> seq[3]

9

>>> seq[3:4]

[9]

>>> seq[3:5]

[9, 77]

>>> seq*2

[1, 5, 7, 9, 77, 1, 5, 7, 9, 77]

>>> seq2=[12,33]

>>> seq+seq2

[1, 5, 7, 9, 77, 12, 33]

>>> obj=3

>>> obj in seq

False

>>> obj not in seq

True

extend()把两个或者多个列表对象合并

切片操作符 ( [], [:], [::] )

>>> s[::-1] # 可以视作"翻转"操作

>>> s[::2] # 隔一个取一个的操作

开始和结束素引值可以超过字符串的长度

>>> s='abcde'

>>> i=-1

>>> for i in range(-1,-len(s),-1):

... print s[:i]

...

abcd

abc

ab

a

用None 作为索引值

>>> for i in [None]+range(-1,-len(s),-1):

... print s[:i]

...

abcde

abcd

abc

ab

a

内建函数(BIFs)

内建函数list(),str()和tuple()被用做在各种序列类型之间转换。

basestring() 抽象工厂函数,其作用仅仅是为str 和unicode 函数提供父类,所以不能被实例化,也不能被调用

>>> import string

>>> string.ascii_uppercase

'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

>>> string.ascii_lowercase

'abcdefghijklmnopqrstuvwxyz'

>>> string.ascii_letters

'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

>>> string.digits

'0123456789'

for 循环的else 语句是一个可选项,它只在for 循环完整的结束,没有遇到break 时执行

#!/usr/bin/python

import string

import keyword

alphas = string.letters+' '

nums=string.digits

myid=raw_input('input the name:')

if myid in keyword.kwlist:

print 'wrong keyword'

else:

if len(myid)<=1:

if myid[0] in alphas:

print 'right'

else:

if myid[0] not in alphas:

print 'wrong first'

else:

for oth in myid[1:]:

if oth not in alphas+nums:

print 'wrong behind'

break

else:

#if(oth==len(myid)-1):

print 'right'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: