-
訪問次序
訪問次序
6.1 序列
- 訪問模式:它的每一個元素可以通過指定的一個偏移量的方式得到。而多個元素可以通過切片操作的方式一次得到,下標(biāo)偏移量從0開始到總元素數(shù)-1結(jié)束。
6.1.1 標(biāo)準類型操作符
適用于所有的序列類型
6.1.2 序列類型操作符
- 成員關(guān)系操作符
in ,not , in 返回值為 True / False
語法:
obj [not ] in sequence
seq[ind] 獲得下標(biāo)為ind的元素
seq[ind1 : ind2] 獲得下標(biāo)從ind1到ind2間的元素集合
seq * expr 序列重復(fù)expr次
seq1 + seq2 連接序列seq1 和 seq2
obj in seq 判斷obj 元素是否包含在seq中
obj not in seq 判斷obj 元素是否不包含在seq中
連接操作符(+)
把一個序列和另一個相同類型的序列做連接重復(fù)操作符(*)
把一個序列多次拷貝切片操作符([],[ : ], [ : ; ])
用方括號加一個下標(biāo)的方式訪問它的每一個元素,或者通過在方括號中用冒號把開始下標(biāo)和結(jié)束下標(biāo)分開的方式來訪問一組連續(xù)的元素。
例子
names = ('Faye','Leanna','Daylen')
print names[2]
names = ('Faye','Leanna','Daylen')
print names[:]
names = ('Faye','Leanna','Daylen')
print names[::]
例子: 翻轉(zhuǎn)
s = 'abcdefgh'
print s[::-1]
例子:比較
s = 'abcde'
for i in [None] + range(-1,-len(s),-1):
print s[:i],
結(jié)果
abcde abcd abc ab a
例子
for i in range(-1,-len(s),-1):
print s[:i],
結(jié)果
abcd abc ab a
6.1.3 內(nèi)建函數(shù)
類型轉(zhuǎn)換
- list列表
- str字符
- tuple元組
- reversed(seq) 返回一個以逆序訪問的迭代器
- zip() 返回一個列表
例子
a = range(3)
b = range(5)
print zip(a,b)
結(jié)果
[(0, 0), (1, 1), (2, 2)]
- 字符串的創(chuàng)建和賦值
例子
a = 'Hello World!'
print a
結(jié)果
Hello World!
- 訪問字符串的值
例子
a = 'Hello World!'
print a[1]
結(jié)果
e
- 改變字符串
結(jié)果
a = 'Hello World!'
print a[:5] + 'python!'
結(jié)果
Hellopython!
刪除字符和字符串
- 方法一:
例子
a = 'Hello World!'
print a[:3] + a[4:]
結(jié)果
Helo World!
- 方法二:
例子
a = 'Hello World!'
del a
6.3 字符串和操作符
6.3.1 標(biāo)準類型操作符
- 按照ASCII值來比較大小
- < !=
6.3.2 序列操作符
切片[] 和 [:]
正向索引 、 反向索引 、默認索引成員操作符(in , not in)
連接符(+)
例子
print 'Spanish' + 'Inquisition'
print 'Spanish' + ' ' + 'Inquisition'
結(jié)果
SpanishInquisition
Spanish Inquisition
- join
例子
s = ' '.join(('Spanish','Inquisition','Made Easy'))
print s
結(jié)果
Spanish Inquisition Made Easy
- 普通字符串轉(zhuǎn)化為Unicode字符串
例子
print 'Hello' + u' ' + 'World' + u'!'
結(jié)果
Hello World!
重復(fù)操作符(*)
十六進制輸出
例子
print "%x" % 108 ,"%X" % 108 , "%#X" % 108 ,"%#x" % 108
結(jié)果
6c 6C 0X6C 0x6c
- 浮點數(shù)和科學(xué)計數(shù)法的輸出
例子
print '%f' % 1234.567890
print '%.2f' % 1234.567890
print '%E' % 1234.567890
print '%e' % 1234.567890
print '%g' % 1234.567890
print '%G' % 1234.567890
- 整數(shù)和字符串輸出
例子
print "%+d" % 4
print "%+d" % -4
print "we are at %d%%" % 100
print 'Your host is: %s' % 'earth'
結(jié)果
+4
-4
we are at 100%
Your host is: earth
6.5 內(nèi)建函數(shù)
- cmp() 根據(jù)字符串的ASCII碼值進行比較
例子
str1 = 'abc'
str2 = 'lmn'
str3 = 'xyz'
print cmp(str1, str2),cmp(str3,str1),cmp(str2,'lmn')
結(jié)果
-1 1 0
- len()
- max () and min ()
對于字符,返回ASCII碼值最小的字符
例子
enumerate()
s = 'foobar'
for i,t in enumerate(s):
print i,t
結(jié)果
0 f
1 o
2 o
3 b
4 a
5 r
例子
zip()
s,t = 'foa','obr'
print zip(s,t)
結(jié)果
[('f', 'o'), ('o', 'b'), ('a', 'r')]
raw_input()
提示用戶輸入列表、元組
列表 [] list
元組 () tuple