国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python序列操作實例詳解

2019-11-06 06:04:10
字體:
供稿:網(wǎng)友
#coding=utf8'''序列類型有著相同的訪問模式:它的每一個元素可以通過指定一個偏移量的方式得到。可以通過切片操作一次獲得多個元素。序列的下標(biāo)偏移量是從0開始到總元素數(shù)減一結(jié)束。標(biāo)準(zhǔn)類型操作符一般都能試用與所有的序列類型。序列類型操作符:---------------------------------------------------------------------------序列操作符                        作用---------------------------------------------------------------------------seq[ind]                        獲得下標(biāo)為ind的元素seq[ind1:ind2]             獲得下標(biāo)從ind1到ind2間的元素集合seq * exPR                    序列重復(fù)expr次seq1+seq2                  連接序列seq1和seq2obj  in seq                  判斷obj元素是否包含在seq中obj not in  seq           判斷obj元素是否不包含在seq中---------------------------------------------------------------------------切片操作符在Python中的原型是:[start:stop:step]即:[開始索引:結(jié)束索引:步長值]開始索引:同其它語言一樣,從0開始。序列從左向右方向中,第一個值的索引為0,最后一個為-1結(jié)束索引:切片操作符將取到該索引為止,不包含該索引的值。步長值:默認是一個接著一個切取,如果為2,則表示進行隔一取一操作。步長值為正時表示從左向右取,如果為負,則表示從右向左取。步長值不能為0。切片索引的語法比簡單的單一元素索引靈活的多。開始和結(jié)束索引值可以超過字符串的長度。函數(shù)原型:range(start, end, scan):參數(shù)含義:start:計數(shù)從start開始。默認是從0開始。例如range(5)等價于range(0, 5);                 end:計數(shù)到end結(jié)束,但不包括end.例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有5                scan:每次跳躍的間距,默認為1。例如:range(0, 5) 等價于 range(0, 5, 1)                序列類型轉(zhuǎn)換工廠函數(shù):-----------------------------------------------------------------------------------------------------------------------函數(shù)                                                       含義-----------------------------------------------------------------------------------------------------------------------list(iter)                                               把可迭代對象轉(zhuǎn)換為列表str(obj)                                                把obj對象轉(zhuǎn)換成字符串(對象的字符串表示法)unicode(obj)                                      把對象轉(zhuǎn)換成Unicode字符串(使用默認編碼)basestring()                                     抽象工廠函數(shù),是str和unicode的父類,不能實例化不能調(diào)用tuple(iter)                                          把一個可迭代對象轉(zhuǎn)換成一個元組對象-----------------------------------------------------------------------------------------------------------------------序列類型可用的內(nèi)建函數(shù):-----------------------------------------------------------------------------------------------------------------------函數(shù)名                                                  功能-----------------------------------------------------------------------------------------------------------------------enumerate(iter)                               接受可迭代對象作為參數(shù),返回一個enumerate對象,該對象生成                                                         由iter每個元素的index值和item值組成的元組。len(seq)                                            返回seq的長度max(iter,key=None) ormax(arg0,arg1....,key=None)          返回iter或(arg0,arg1,...)中的最大值,如果指定key,key必須是                                                        一個可以傳給sort()方法的,用于比較的回調(diào)函數(shù)                                                        min(iter,key=None) ormin(arg0,arg1....,key=None)          返回iter或(arg0,arg1,...)中的最小值,如果指定key,key必須是                                                        一個可以傳給sort()方法的,用于比較的回調(diào)函數(shù)                                                        reversed(seq)                                接受一個序列作為參數(shù),返回一個以逆序訪問的迭代器sorted(iter,func=None,key=None,reverse=False)            接受一個可迭代對象作為參數(shù),返回一個有序的列表;可選參數(shù)func,key                                                     和reverse的含義跟list.sort()內(nèi)建函數(shù)的參數(shù)含義一樣。                                                     sum(seq,init=0)                           返回seq和可選參數(shù)init的總和,其效果等同于reduce(Operator.add,seq,init)zip([it0,it1,...itN])                           返回一個列表,其第一個元素是it0,it1,...這些元素的第一個元素組成一個元組,                                                      第二個...類推-----------------------------------------------------------------------------------------------------------------------'''class sequenceClass(object):    def __init__(self):        '''定義個整數(shù)序列表'''        self.intSeq=[1,2,5,8,95,456,236,458,95,62,63,64,77]        '''定義個浮點數(shù)序列表'''        self.floatSeq=[0.33,2.56,45.23,45.33,46.789,23.00]        '''定義個字符串序列表'''        self.strSeq=["hello","double","floatNumer","ewang"]            #輸出初始化序列內(nèi)容    def outInitData(self):        print "初始化整數(shù)序列表:",self.intSeq        print "初始化浮點數(shù)序列表:",self.floatSeq        print "初始化字符串序列表:",self.strSeq        #使用序列類型操作符    def sequenceTypeOper(self):        #獲取序列中第幾個元素值,下表從0開始        print "整數(shù)列表第%d元素的值是%d "  %(3,self.intSeq[2])                #獲取序列中第幾個到第幾個的之間元素的集合(從左向右)        print "浮點列表%d--%d之間元素列表:%r"  %(1,5,self.floatSeq[1:5])                #倒數(shù)%d---%d之間的數(shù)據(jù)集合(從右向左)        print   "浮點列表%d--%d之間元素列表:%r"  %(-1,-5,self.floatSeq[-5:-1])                #使用切片對序列逆序        print  "輸出逆序的字符串序列:",self.strSeq[::-1]                #使用切片獲取奇數(shù)位數(shù)據(jù)列表        print  "輸出整數(shù)列表奇數(shù)數(shù)位元素列表:" ,self.intSeq[::2]                #使用切片獲取偶數(shù)位數(shù)據(jù)列表        print  "輸出整數(shù)列表偶數(shù)位元素列表:",self.intSeq[1:-1:2]                #序列重復(fù)2次        print "字符串序列重復(fù)2次并輸出:",self.strSeq*2                #連接整數(shù)序列和浮點數(shù)序列        print "連接整數(shù)序列和浮點數(shù)序列",self.intSeq+self.floatSeq                #判斷某個元素會否包含在序列中        if 5 in self.intSeq:            print "輸出序列intSeq:",self.intSeq                    #判斷某個元素不包含在序列中        if "home"  not in self.strSeq:            print "輸出序列strSeq:",self.strSeq                def sliceIndexUse(self):        #切片索引的開始和結(jié)束索引值可以超過序列的長度        print "輸出strSeq序列:",self.intSeq[-100:100]                #使用range函數(shù)操作字符串        #每次都把位于最后一個字符刪掉        #無法輸出str這個字符串        ind=-1        strg=self.strSeq[2]        print "要操作的字符串(strg)是 :",strg        for ind in range(-1,-len(strg),-1):            print strg[:ind],                #使用None作為索引值,可以從第一個遍歷到最后一個元素        s=self.strSeq[-1]        print "/n要操作的字符串(s)是 :",s        for i in [None]+range(-1,-len(s),-1):            print s[:i],                def useTypeConver(self):        iterObj="hello ewang"        inter=45454        print "/n使用類型轉(zhuǎn)換函數(shù)前的iterObj類型 :",type(iterObj)        print "使用類型轉(zhuǎn)換函數(shù)前的inter類型 :",type(inter)                #使用list類型轉(zhuǎn)換函數(shù)        print "使用list轉(zhuǎn)換函數(shù)后的變量類型:",type(list(iterObj))                #使用str把對象轉(zhuǎn)換為字符串類型        print "使用str函數(shù)把變量inter轉(zhuǎn)換為字符串類型:",type(str(inter))                #使用unicode函數(shù)轉(zhuǎn)換為Unicode字符串        print "使用unicode函數(shù)把變量iterObj轉(zhuǎn)換為Unicode類型:",type(str(iterObj))                #使用tuple函數(shù)轉(zhuǎn)換為一個元組對象        print "使用tuple函數(shù)把變量iterObj轉(zhuǎn)換為元組類型:",type(tuple(iterObj))            def useSequencBIF(self):        #調(diào)用enumerate內(nèi)建函數(shù)        print "使用enumerate函數(shù):",enumerate(self.strSeq)                #調(diào)用len函數(shù)        print "使用len函數(shù):",len(self.strSeq)                #調(diào)用max求最大值        print "使用max函數(shù)求序列的最大值:",max(self.intSeq)        print "使用max函數(shù)求參數(shù)的最大值:",max(1,2,5,8,95,456)                #調(diào)用min求最小值        print "使用min函數(shù)求序列的最小值:",min(self.floatSeq)        print "使用min函數(shù)求參數(shù)的最小值:",min(0.33,2.56,45.23)                #調(diào)用reversed函數(shù)對序列進行逆序        print "使用reversed函數(shù)對序列intSeq逆序:",reversed(self.intSeq)                #調(diào)用sorted函數(shù)對序列進行排序        print "調(diào)用sorted函數(shù)對序列strSeq進行排序:",sorted(self.strSeq)                #調(diào)用sum對序列進行求和        print "調(diào)用sum函數(shù)對序列intSeq進行求和",sum(self.intSeq)                #調(diào)用zip返回一個元組列表        print "調(diào)用zip函數(shù)對list操作返回一個元組列表:",zip(self.strSeq,self.strSeq)    def run(self):        self.outInitData()        self.sequenceTypeOper()        self.sliceIndexUse()        self.useTypeConver()        self.useSequencBIF()                def test():    #創(chuàng)建一個對象實例    seq=sequenceClass()    seq.run()    if __name__=="__main__":    test()
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 罗江县| 兴业县| 霍城县| 临夏县| 于都县| 昆明市| 太康县| 宁武县| 潮州市| 苗栗县| 塔河县| 延寿县| 漳平市| 诸暨市| 南康市| 民权县| 团风县| 平邑县| 崇义县| 剑阁县| 丽水市| 伊金霍洛旗| 安顺市| 鸡东县| 江川县| 万全县| 梓潼县| 福海县| 西宁市| 东乌珠穆沁旗| 云阳县| 敖汉旗| 佛教| 昌江| 宜川县| 巴东县| 宁陕县| 遵义县| 芷江| 内丘县| 新余市|