序列:成員有序排列,並且可以通過下標漂移量訪問乙個(直接指定索引)或者幾個成員(切片操作)。包括字串(普通字串和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 的元組與列表...