python 序列應用

2021-09-06 10:09:25 字數 1663 閱讀 6678

序列:成員有序排列,並且可以通過下標漂移量訪問乙個(直接指定索引)或者幾個成員(切片操作)。包括字串(普通字串和unicode字串)、列表和元組。其索引第乙個元素從零向後遞增(正索引),也可以從最後乙個元素的-1索引向前遞減(負索引)。   

1、所有的標準型別操作符適用於序列(值比較操作符,物件身份比較,邏輯操作符)。

2、序列型別的操作符:

(1)成員關係操作符(in, not in):判斷乙個元素是否屬於乙個序列,返回值為true/false。

(2)連線操作符(+):將乙個序列與另乙個相同型別的序列做連線。

這個方法並不是最快最有效的,因為python要為每乙個參加連線操作的字串分配新的記憶體,包括新產生的字串。對於字串,推薦將子字串放到乙個列表或者可迭代物件中,呼叫join方法連線,節約記憶體。對於列表,推薦使用列表物件的extend()方法。

(3)重複操作符(*):乙個序列的多份拷貝,返回乙個包含多份原物件拷貝的新物件。sequence*copies_int,注意copies_int必須為整型,不能為長整型。

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

訪問某乙個資料元素:sequence[index]。(len()函式可獲得序列的長度)

例:print ('a','b','c')[1] (例子中沒有先賦值直接訪問乙個序列的元素,當只對函式返回序列物件的某些元素感興趣時非常有用)

訪問多個元素:sequence[starting_index:ending_index]。(注意不包括結束索引,並且如果沒有提供或者用none作索引值,則從第乙個元素開始或者到最後乙個元素結束)。對於這種形式,起始索引和結束索引可以為超過字串長度的索引。

例:s[:-1] 從第乙個元素到最後乙個元素

s[:0] 返回''

擴充套件的步長索引:

例:s[::-1] 可以看作翻轉操作,'abcd'操作後為'dcba'

例:s='abcde'

for i in [none] + range(-1, -len(s),-1)

print s[:i]

(注意這裡不能先用none生成列表,再用extend將range的輸出加入列表,因為extend的輸出為none)

3、序列常用的內建函式:

(1)型別轉換:實際上沒有進行真正的型別轉換,是將引數傳入物件的內容淺拷貝到新生成的物件中。淺拷貝是指只拷貝物件的索引,不是重新建立物件,在python中,物件建立後就不能更改其身份和型別。

str():用於物件的列印,對序列型別和其它型別都適用。

unicode():功能與str()一樣,只是輸出為unicode編碼。

list():轉換為列表;tuple():轉換為元組。這兩個函式常用於列表和元組的互換。很少用於string型別。

basestring():抽象工廠函式,是str和unicode的父類,不能被例項化和呼叫。

(2)內建函式:

引數只接收序列物件:len(seq),reversed(seq),sum(seq,init=0)。

引數可接收序列物件和可迭代物件:enumerate(iter),sorted(iter,func=none,key=none,reverse=false),

zip([it0,it1,...itn])

可接收引數列表:max(iter,key=none)或者max(arg0,arg1,...,key=none)

min類同於max。

Python序列應用 序列

1 序列 說明 1.1 序列是一塊用於存放多個值的連續記憶體空間,並且按一定順序排列,每個值 元素都分配乙個數字,稱為索引或位置,通過該索引可以取出相應的值。1.2 在python中,序列結構主要有列表 元組 集合 字典。對於這些序列結構有以下幾個通用的操作。2 索引 說明 2.1 序列中的每乙個元...

python通用序列操作 python序列的使用

序列之通用操作 pytho中,最基本的資料結構就是序列。什麼是序列 numbers 1,2,3,4,5,6,7,8,9,0 greeting u hello,world names alice tom ben john python內建序列種類 共有6種 列表,元組,字串,unicode字串,buf...

python序列詳解 python序列詳解

什麼是序列 序列指的是一塊可存放多個值的連續記憶體空間,這些值按一定順序排列,可以通過下標或者索引訪問它們。python中三種基本的序列型別 字串列表 列表由一系列按特定順序排列的元素組成。是python最常見的資料結構,用來表示列表 例如 arr 1,2,3,4,5 元組python 的元組與列表...