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

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

.Net程序員之Python基礎(chǔ)教程學(xué)習(xí)----列表和元組[FirstDay]

2019-11-14 17:24:13
字體:
供稿:網(wǎng)友

       一. 通用序列操作:

     其實對于列表,元組 都屬于序列化數(shù)據(jù),可以通過下表來訪問的。下面就來看看序列的基本操作吧.

    1.1 索引:

              序列中的所有元素的下標是從0開始遞增的. 如果索引的長度的是N,那么所以的范圍是-N~N-1之間,超過這個范圍就會提示 IndexError:  index out of range

>>> greeting ='Hello world'>>> PRint greetingHello world>>> print greeting[0],greeting[-1]H d

         1.2 分片:

            A.簡單的分片:
       分片是基于索引基礎(chǔ)上的,可以理解為取一定區(qū)域的數(shù)據(jù),和C#中的substring差不多,以及C#Linq提供的skip()和take()方法.

               Note:[A:B] A,B分別對應(yīng)索引的下標,取值區(qū)域是[A,B)(學(xué)過數(shù)學(xué)的都知道不包含B). 注意意見是B必須大于A,否則輸出為空,那么問題里了為何web[9:-1]有數(shù)據(jù),請仔細想一想,其實-1的下標數(shù)據(jù)等價于m的下標12,12>9所以有數(shù)據(jù). 那么對于web[9:-5] 就悲劇了.    

>>> web ='www.baidu.com'>>> print web[4:9] #4對于的bbaidu>>> print web[9:-5] # 
>>> print web[9:-1] #9對應(yīng)的第二個'.' -1對應(yīng)的m.co

      B.等差數(shù)列形式的分片:

        默認情況下是按照下標間隔為1的時候,進行獲取的,其實可以通過第三個參數(shù)來進一步分割.[A:B:間隔數(shù)], 10個數(shù)字沒兩個取1次.

  

>>> number =[1,2,3,4,5,6,7,8,8,10]>>> print number[0:10:2][1, 3, 5, 7, 8]
>>> print number[::-2]
[10, 8, 6, 4, 2]
>>> print number[::2]
[1, 3, 5, 7, 8]

   1.3 序列相加:

     同類型的可以想加,不同類型的會報錯Type Error

>>> [1,2,3] + [4,5][1, 2, 3, 4, 5]>>> [1,2,3] +['hello'][1, 2, 3, 'hello']>>> [1,2,3]+'hello'Traceback (most recent call last):  File "<pyshell#41>", line 1, in <module>    [1,2,3]+'hello'TypeError: can only concatenate list (not "str") to list>>> 

     1.4 乘法:
     覺得Python的乘法很有意思,可以理解為對現(xiàn)有的數(shù)據(jù)的一種多個Copy.

    

>>> [1]*10[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]>>> 'New '*10'New New New New New New New New New New '

      1.5 有用方法.

     通過in可以Check元素是否存在,max,min,len,count分別獲取最大值,最小值,長度,包含數(shù)量

    

>>> number =[1,2,2,3,3,4,5,7]>>> print 'Max Number:' + str(max(number))Max Number:7>>> print '2的數(shù)量是:' + str(number.count(2))2的數(shù)量是:2>>> print 'number列表的長度是:' + str(len(number))number列表的長度是:8

        二. 列表.
  

         列表可以理解為C語言中的鏈表.或者C#中的List<Object>,列表可以實現(xiàn)上面出現(xiàn)的通用序列號操作,可以對列表進行增,刪,改,查,排序等方法

    2.1 列表的基礎(chǔ)  

>>> print list('123') #功過【】可以將字符串轉(zhuǎn)換為列表['1', '2', '3']>>> list1=[1,2,3] # 通過[]聲明列表>>> list2 = list(123) #123是整形,不存在索引,所以轉(zhuǎn)換的時候報錯了。Traceback (most recent call last):  File "<pyshell#53>", line 1, in <module>    list2 = list(123)TypeError: 'int' object is not iterable

          2.2 列表的基本操作
        A 增,刪,改

>>> numbers =[1,2,3,4,5]>>> numbers[0]=5; #修改>>> print numbers[5, 2, 3, 4, 5]>>> numbers.remove(5) #刪除value值為5的>>> print numbers[2, 3, 4, 5]>>> del numbers[0] #刪除第一個元素>>> print numbers[3, 4, 5]>>> numbers.append(7) #在尾部添加一個元素>>> print numbers[3, 4, 5, 7]

             B 分片賦值【神奇的分片操作】

     整體替換
    

>>> Greeting= [1,2,3,4,5]
>>> Greeting[1:] = [0,0]
>>> Greeting
[1, 0, 0]

            替換區(qū)間      

>>> Greeting= [1,2,3,4,5]>>> Greeting[1:2]=[0,0,0]>>> Greeting[1, 0, 0, 0, 3, 4, 5]

            批量添加,用[0,0,0]替換[]        

>>> Greeting=[1,2,3,4,5]>>> Greeting[1:1]=[0,0,0]>>> Greeting[1, 0, 0, 0, 2, 3, 4, 5]

     批量刪除,用[]替換[2,3,4]   

>>> Greeting=[1,2,3,4,5]>>> Greeting[1:4]=[]>>> Greeting[1, 5]

       Note:對于種種操作其實都可以理解為一個替換。

       2.3 列表的方法.  

>>> Number =[1,2,3,4,5]>>> Number.extend([6,7,8])  #添加一個列表,必須是列表>>> Number[1, 2, 3, 4, 5, 6, 7, 8]>>> Names =['Frank','Lock','Vincent','Tingna']>>> Names.index('Lock')  #通過Index取下標1>>> Names.insert(2,'Hardy')>>> Names['Frank', 'Lock', 'Hardy', 'Vincent', 'Tingna']>>> Names.pop()  #最有一個元素刪除'Tingna'>>> Names['Frank', 'Lock', 'Hardy', 'Vincent']>>> Names.pop(0)  #踢出第一個元素'Frank'>>> Names['Lock', 'Hardy', 'Vincent']>>> Names.reverse()  #反序>>> Names['Vincent', 'Hardy', 'Lock']>>> Names.sort() #從小到達>>> Names['Hardy', 'Lock', 'Vincent']>>> Names.sort(key=len) #通過長度排序>>> Names['Lock', 'Hardy', 'Vincent']>>> Names.sort(reverse=True) #從大到小>>> Names['Vincent', 'Lock', 'Hardy']

        三. 元組不可變序列

     通過()號聲明,與list的區(qū)別在于一旦聲明后不可變.
    

>>> tuple1 = (1,2,3)>>> tuple1(1, 2, 3)>>> tuple(list('hello'))('h', 'e', 'l', 'l', 'o')>>> 

        四. 總結(jié)
    

     本章總結(jié)了Python基礎(chǔ)教程里面的列表和元組,其實整體來說和.net區(qū)別不算太大.比如奇妙的切片操作其實就是簡化了.net里面的addrang,revomeall這些方法. 確實正如書里面所說Python可以用100行代碼做到C語言1000行代碼所需要完成的事情.             好了洗洗睡睡了.求明天公司年會能抽中Iphone土豪金大獎,哈哈哈.
[利用一個月的下班之余看完P(guān)ython基礎(chǔ)教程,完成基礎(chǔ)教程學(xué)習(xí)博客系列.加油!]

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 盘山县| 富宁县| 通河县| 咸宁市| 古丈县| 临汾市| 潍坊市| 修武县| 岳池县| 项城市| 石首市| 志丹县| 余干县| 平乐县| 东至县| 石门县| 弥勒县| 仁怀市| 顺义区| 阳高县| 农安县| 滁州市| 尚志市| 四平市| 镇赉县| 西乡县| 扬州市| 平顺县| 明溪县| 镇原县| 丰县| 竹溪县| 墨脱县| 彩票| 凤阳县| 霍州市| 理塘县| 安陆市| 共和县| 琼结县| 博客|