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

第六章:序列--字符串、列表和元组

2016-08-08 15:59 281 查看
访问次序



6.1 序列

访问模式:它的每一个元素可以通过指定的一个偏移量的方式得到。而多个元素可以通过切片操作的方式一次得到,下标偏移量从0开始到总元素数-1结束。

6.1.1 标准类型操作符

适用于所有的序列类型

6.1.2 序列类型操作符

成员关系操作符

in ,not , in 返回值为 True / False

语法:

obj [not ] in sequence

seq[ind] 获得下标为ind的元素

seq[ind1 : ind2] 获得下标从ind1到ind2间的元素集合

seq * expr 序列重复expr次

seq1 + seq2 连接序列seq1 和 seq2

obj in seq 判断obj 元素是否包含在seq中

obj not in seq 判断obj 元素是否不包含在seq中

连接操作符(+)

把一个序列和另一个相同类型的序列做连接

重复操作符(*)

把一个序列多次拷贝

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

用方括号加一个下标的方式访问它的每一个元素,或者通过在方括号中用冒号把开始下标和结束下标分开的方式来访问一组连续的元素。

例子

names = ('Faye','Leanna','Daylen')
print names[2]

names = ('Faye','Leanna','Daylen')
print names[:]

names = ('Faye','Leanna','Daylen')
print names[::]


例子: 翻转

s = 'abcdefgh'
print  s[::-1]


例子:比较

s = 'abcde'
for i in [None] + range(-1,-len(s),-1):
print s[:i],


结果

abcde abcd abc ab a


例子

for i in range(-1,-len(s),-1):
print s[:i],


结果

abcd abc ab a


6.1.3 内建函数

类型转换

list列表

str字符

tuple元组

reversed(seq) 返回一个以逆序访问的迭代器

zip() 返回一个列表

例子

a = range(3)
b = range(5)
print zip(a,b)


结果

[(0, 0), (1, 1), (2, 2)]


字符串的创建和赋值

例子

a = 'Hello World!'
print a


结果

Hello World!


访问字符串的值

例子

a = 'Hello World!'
print a[1]


结果

e


改变字符串

结果

a = 'Hello World!'
print a[:5] + 'python!'


结果

Hellopython!


删除字符和字符串

方法一:

例子

a = 'Hello World!'
print a[:3] + a[4:]


结果

Helo World!


方法二:

例子

a = 'Hello World!'
del a


6.3 字符串和操作符

6.3.1 标准类型操作符

按照ASCII值来比较大小

< !=

6.3.2 序列操作符

切片[] 和 [:]

正向索引 、 反向索引 、默认索引

成员操作符(in , not in)

连接符(+)

例子

print 'Spanish' + 'Inquisition'
print 'Spanish' + ' ' +  'Inquisition'


结果

SpanishInquisition
Spanish Inquisition


join

例子

s  = ' '.join(('Spanish','Inquisition','Made Easy'))
print s


结果

Spanish Inquisition Made Easy


普通字符串转化为Unicode字符串

例子

print 'Hello' +  u' ' +  'World' +  u'!'


结果

Hello World!


重复操作符(*)

十六进制输出

例子

print "%x" % 108 ,"%X" % 108 , "%#X" % 108 ,"%#x" % 108


结果

6c 6C 0X6C 0x6c


浮点数和科学计数法的输出

例子

print '%f' % 1234.567890
print '%.2f' % 1234.567890
print '%E' % 1234.567890
print '%e' % 1234.567890
print '%g' % 1234.567890
print '%G' % 1234.567890


整数和字符串输出

例子

print "%+d" % 4
print "%+d" % -4
print "we are at %d%%" % 100
print 'Your host is: %s' % 'earth'


结果

+4
-4
we are at 100%
Your host is: earth


6.5 内建函数

cmp() 根据字符串的ASCII码值进行比较

例子

str1 = 'abc'
str2 = 'lmn'
str3 = 'xyz'
print  cmp(str1, str2),cmp(str3,str1),cmp(str2,'lmn')


结果

-1 1 0


len()

max () and min ()

对于字符,返回ASCII码值最小的字符

例子

enumerate()
s = 'foobar'
for i,t in enumerate(s):
print i,t


结果

0 f
1 o
2 o
3 b
4 a
5 r


例子

zip()
s,t = 'foa','obr'
print zip(s,t)


结果

[('f', 'o'), ('o', 'b'), ('a', 'r')]


raw_input()

提示用户输入

列表、元组

列表 [] list

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