python核心編程第二版:第六章--序列:字符串、列表和元組

  • 訪問次序


    訪問次序

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容