鍍金池/ 教程/ Python/ 使用序列
備份腳本——版本四
使用 <strong>init</strong> 方法
控制流
異常
表 15.1 一些特殊的方法
如何創(chuàng)建你自己的模塊
使用字典
前言
使用默認(rèn)參數(shù)值
表 5.1 運(yùn)算符與它們的用法
解決問(wèn)題——編寫(xiě)一個(gè) Python 腳本
使用 for 語(yǔ)句
使用 continue 語(yǔ)句
使用元組輸出
對(duì)象與參考
使用函數(shù)形參
使用默認(rèn)參數(shù)值
使用 if 語(yǔ)句
如何引發(fā)異常
使用源文件
使用對(duì)象的方法
使用表達(dá)式
定義函數(shù)
使用局部變量
使用列表綜合
使用 sys.argv
使用 lambda 形式
使用 global 語(yǔ)句
備份腳本——版本二
使用列表
使用 while 語(yǔ)句
備份腳本——版本一
使用元組
輸入/輸出
使用類與對(duì)象的變量
使用 sys 模塊
表 5.2 運(yùn)算符優(yōu)先級(jí)
處理異常
使用 break 語(yǔ)句
函數(shù)
基本概念
運(yùn)算符與表達(dá)式
介紹
使用文件
使用序列
接下來(lái)學(xué)習(xí)什么?
使用帶提示符的 Python 解釋器
使用 DocStrings
使用字面意義上的語(yǔ)句
最初的步驟
數(shù)據(jù)結(jié)構(gòu)
儲(chǔ)存與取儲(chǔ)存
使用 dir 函數(shù)
模塊
Python 標(biāo)準(zhǔn)庫(kù)
備份腳本——版本三(不工作?。?/span>
創(chuàng)建一個(gè)類
安裝 Python
面向?qū)ο蟮木幊?/span>
使用模塊的<strong>name</strong>
使用變量和字面意義上的常量
使用繼承

使用序列


    #!/usr/bin/python
    # Filename: seq.py

    shoplist = ['apple', 'mango', 'carrot', 'banana']

    # Indexing or 'Subscription' operation
    print 'Item 0 is', shoplist[0]
    print 'Item 1 is', shoplist[1]
    print 'Item 2 is', shoplist[2]
    print 'Item 3 is', shoplist[3]
    print 'Item -1 is', shoplist[-1]
    print 'Item -2 is', shoplist[-2]

    # Slicing on a list
    print 'Item 1 to 3 is', shoplist[1:3]
    print 'Item 2 to end is', shoplist[2:]
    print 'Item 1 to -1 is', shoplist[1:-1]
    print 'Item start to end is', shoplist[:]

    # Slicing on a string
    name = 'swaroop'
    print 'characters 1 to 3 is', name[1:3]
    print 'characters 2 to end is', name[2:]
    print 'characters 1 to -1 is', name[1:-1]
    print 'characters start to end is', name[:]

(源文件:code/seq.py

輸出


    $ python seq.py
    Item 0 is apple
    Item 1 is mango
    Item 2 is carrot
    Item 3 is banana
    Item -1 is banana
    Item -2 is carrot
    Item 1 to 3 is ['mango', 'carrot']
    Item 2 to end is ['carrot', 'banana']
    Item 1 to -1 is ['mango', 'carrot']
    Item start to end is ['apple', 'mango', 'carrot', 'banana']
    characters 1 to 3 is wa
    characters 2 to end is aroop
    characters 1 to -1 is waroo
    characters start to end is swaroop

它如何工作

首先,我們來(lái)學(xué)習(xí)如何使用索引來(lái)取得序列中的單個(gè)項(xiàng)目。這也被稱作是下標(biāo)操作。每當(dāng)你用方括號(hào)中的一個(gè)數(shù)來(lái)指定一個(gè)序列的時(shí)候,Python 會(huì)為你抓取序列中對(duì)應(yīng)位置的項(xiàng)目。記住,Python 從 0 開(kāi)始計(jì)數(shù)。因此,shoplist[0]抓取第一個(gè)項(xiàng)目,shoplist[3]抓取 shoplist 序列中的第四個(gè)元素。

索引同樣可以是負(fù)數(shù),在那樣的情況下,位置是從序列尾開(kāi)始計(jì)算的。因此,shoplist[-1]表示序列的最后一個(gè)元素而 shoplist[-2]抓取序列的倒數(shù)第二個(gè)項(xiàng)目。

切片操作符是序列名后跟一個(gè)方括號(hào),方括號(hào)中有一對(duì)可選的數(shù)字,并用冒號(hào)分割。注意這與你使用的索引操作符十分相似。記住數(shù)是可選的,而冒號(hào)是必須的。

切片操作符中的第一個(gè)數(shù)(冒號(hào)之前)表示切片開(kāi)始的位置,第二個(gè)數(shù)(冒號(hào)之后)表示切片到哪里結(jié)束。如果不指定第一個(gè)數(shù),Python 就從序列首開(kāi)始。如果沒(méi)有指定第二個(gè)數(shù),則 Python 會(huì)停止在序列尾。注意,返回的序列從開(kāi)始位置 開(kāi)始 ,剛好在 結(jié)束 位置之前結(jié)束。即開(kāi)始位置是包含在序列切片中的,而結(jié)束位置被排斥在切片外。

這樣,shoplist[1:3]返回從位置 1 開(kāi)始,包括位置 2,但是停止在位置 3 的一個(gè)序列切片,因此返回一個(gè)含有兩個(gè)項(xiàng)目的切片。類似地,shoplist[:]返回整個(gè)序列的拷貝。

你可以用負(fù)數(shù)做切片。負(fù)數(shù)用在從序列尾開(kāi)始計(jì)算的位置。例如,shoplist[:-1]會(huì)返回除了最后一個(gè)項(xiàng)目外包含所有項(xiàng)目的序列切片。

使用 Python 解釋器交互地嘗試不同切片指定組合,即在提示符下你能夠馬上看到結(jié)果。序列的神奇之處在于你可以用相同的方法訪問(wèn)元組、列表和字符串