<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python基礎(chǔ)第四講:劉德華告訴你:什么是列表?

          共 4938字,需瀏覽 10分鐘

           ·

          2021-03-28 10:46

          原創(chuàng)小白系列第 5 


          小白:小碼哥,我經(jīng)常聽(tīng)到數(shù)據(jù)結(jié)構(gòu)還有列表,到底這都是什么???


          小碼哥:今天一起聊一下 什么是列表,并且使用大家喜歡的電影明星為例子。



          01
          什么是數(shù)據(jù)結(jié)構(gòu)


          數(shù)據(jù)結(jié)構(gòu)是相互之間存在一種或多種特定關(guān)系的集合。


          也可以理解為,


          數(shù)據(jù)結(jié)構(gòu)就是將數(shù)據(jù)按照某種方式組合在一起的結(jié)構(gòu)。


          這里的數(shù)據(jù)也就是python中的基本數(shù)據(jù)類型數(shù)據(jù),比如整型、浮點(diǎn)數(shù)、字符串等。在Python中,常見(jiàn)的內(nèi)置數(shù)據(jù)結(jié)構(gòu)(也就是自帶的)是列表、元組、字典等,


          在Python的第三方包中還有其他數(shù)據(jù)結(jié)構(gòu),比如Numpy中的Datafram 或者 Series。接下來(lái)的內(nèi)容重點(diǎn)介紹Python中的內(nèi)置數(shù)據(jù)結(jié)構(gòu).



          02
          什么是列表



          列表是由一系列按特定順序排列的元素組成。也就是列表是有序集合。


          在Python中,用方括號(hào)([])來(lái)表示列表,并用逗號(hào)來(lái)分隔其中的元素。


          可以給列表起一個(gè)名字,并且使用(=)把列表名字和列表關(guān)聯(lián)起來(lái),這就叫做列表賦值。具體如下:


          語(yǔ)法定義:

          列名名字  =  [元素1,元素2,元素3,........]

           

          例子

           

          定義一個(gè)列表

          # Python實(shí)戰(zhàn)圈成員列表

          names_python_pc = ['陳升','劉德華','楊冪','TFboys']

          print(f'Python實(shí)戰(zhàn)圈的成員有:{names_python_pc}')

           

          Python實(shí)戰(zhàn)圈的成員有:['陳升', '劉德華', '楊冪', 'TFboys']


           

          注意:列表中元素個(gè)數(shù)是動(dòng)態(tài)的,也就是可以隨意添加和刪除。這點(diǎn)是與字符串的本質(zhì)區(qū)別:字符串是不能修改,列表是可變的。


           

          03
          列表的基本操作有哪些呢



          在Python中,type()函數(shù)被用來(lái)查看變量的類型。


          只有知道了變量的類型才能對(duì)其進(jìn)行相應(yīng)的操作,因?yàn)椴煌臄?shù)據(jù)類型有不同的操作,比如字符串有自己獨(dú)特的一系列操作。

          同樣,我們使用該函數(shù)查看列表在Python中的類型表示為<class 'list'>,具體如下:


          例子

          # 查看變量的類型

          print('names_python_pc的數(shù)據(jù)類型是:',type(names_python_pc))

           

          names_python_pc的數(shù)據(jù)類型是:<class 'list'>


          在實(shí)際項(xiàng)目中,變量的各種類型都會(huì)用到。當(dāng)看到<class 'list'>就表示是列表,我們才可以對(duì)其進(jìn)行列表的各種操作。


          列表常見(jiàn)的操作有訪問(wèn)元素、添加元素、修改元素、刪除元素以及列表排序等等


          這些操作中經(jīng)常使用的兩個(gè)術(shù)語(yǔ)是函數(shù)和方法,我們需要知道他們的區(qū)別。


          函數(shù)是獨(dú)自的一個(gè)功能單元,直接可以使用,比如函數(shù)len(列表名)求列表的元素長(zhǎng)度;而方法是依附于對(duì)象的,調(diào)用方法是對(duì)象.方法(),比如列表名.sort(),對(duì)列表進(jìn)行排序,方法是面向?qū)ο蟮囊粋€(gè)重要概念。


          無(wú)論是方法還是函數(shù),隨著我們使用的頻率增加,自然而言就記住了,不需要刻意的去背誦。


          1.訪問(wèn)列表元素:


          列表是有序的,每一個(gè)元素都自動(dòng)帶有一個(gè)位置信息,也就是索引。


          在編程語(yǔ)言中,無(wú)論P(yáng)ython還是其他的語(yǔ)言,索引都是從0開(kāi)始,而不是1。


          第0個(gè)索引對(duì)應(yīng)的元素就是第一個(gè)元素,以此類推,比如在列表names_python_pc中,第0個(gè)索引對(duì)應(yīng)的列表元素就是’陳升‘;第三個(gè)索引,也就是最后一個(gè)元素對(duì)應(yīng)的是‘TFboys’



          訪問(wèn)列表元素的方法是根據(jù)索引訪問(wèn),只需要指出索引號(hào)即可。


          語(yǔ)法:

          列表名[索引號(hào)]

           

          例子

          # 根據(jù)索引訪問(wèn)列表元素,并且賦值給變量three_str

          three_str = names_python_pc[2]

          # 直接打?。?/span>print)列表元素或根據(jù)變量打印,項(xiàng)目中經(jīng)常用到

          print(names_python_pc[2])

          print('列表中第三個(gè)元素是:{}'.format(three_str))

           

          楊冪

          列表中第三個(gè)元素是:楊冪

           

          訪問(wèn)列表中最后一個(gè)元素的方法有兩個(gè):第一個(gè)是通過(guò)索引號(hào)[-1]來(lái)獲取。這個(gè)特殊的語(yǔ)法特別有用,尤其在項(xiàng)目中,不知道一個(gè)excel文件具體有多少列,


          但是我們記得最后一列是想要獲取的信息,此時(shí)就可以使用該方法;第二個(gè):明確知道列表有多少列,使用最后一列的索引即可。


          例子

          # 兩種方法訪問(wèn)最后一個(gè)元素

          names_python_pc[-1]

          print('使用第一種方法,獲得列表最后一個(gè)元素是{}'.format(names_python_pc[-1]))

          names_python_pc[3]

          print('使用第二種方法,獲得列表最后一個(gè)元素是{}'.format(names_python_pc[3]))

           

          使用第一種方法,獲得列表最后一個(gè)元素是 TFboys

          使用第二種方法,獲得列表最后一個(gè)元素是 TFboys




          2.添加列表元素:


          列表是可變的。在列表中添加元素分為兩種情況:


          (1)第一種:在指定位置插入一個(gè)元素,用到的方法是:


          # insert方法 根據(jù)索引位置插入元素

          insert(index,x)

          index 是準(zhǔn)備插入到其前面的那個(gè)元素的索引; x為需要插入的元素。

           

          例子

          print('原來(lái)的成員列表:{}'.format(names_python_pc))

          names_python_pc.insert(0,'魏瓔珞')

          print('插入新的成員以后的列表:{}'.format(names_python_pc))

           

          原來(lái)的成員列表:['陳升', '劉德華', '楊冪', 'TFboys']

          插入新的成員以后的列表:['魏瓔珞', '陳升', '劉德華', '楊冪', 'TFboys']

           

          (2)第二種:在列表的末位添加元素,用到的方法是:


          # append(x)  x為需要插入的元素,并且是插入到列表的最后

          例子

          # append(x)

          print('原來(lái)的成員列表:{}'.format(names_python_pc))

          names_python_pc.append('傅恒')

          print('插入新的成員以后的列表:{}'.format(names_python_pc))

           

          原來(lái)的成員列表:['魏瓔珞', '陳升', '劉德華', '楊冪', 'TFboys']

          插入新的成員以后的列表:['魏瓔珞', '陳升', '劉德華', '楊冪', 'TFboys', '傅恒']


          這兩種方法相比。第一種比第二種的計(jì)算代價(jià)更高,因?yàn)榈谝环N方法的插入位置不確定,之后的所有元素不得不在內(nèi)部自己移動(dòng)位置。而第二種方法是在末尾插入,相對(duì)比較快。

          在項(xiàng)目開(kāi)發(fā)中,第二種方法經(jīng)常被用來(lái)構(gòu)建一個(gè)新的列表。首先,創(chuàng)建一個(gè)空的列表,然后在程序運(yùn)行的過(guò)程中使用append()方法添加元素。


          例子

          # 構(gòu)建新的列表

          yan_xi_gong_luo = []

          yan_xi_gong_luo.append('皇上')

          yan_xi_gong_luo.append('富察皇后')

          yan_xi_gong_luo.append('高貴妃')

          yan_xi_gong_luo.append('純妃')

          print('使用append()方法構(gòu)建列表:{}'.format(yan_xi_gong_luo))

           

          使用append()方法構(gòu)建列表:['皇上', '富察皇后', '高貴妃', '純妃']




          32.修改列表元素:


          修改列表元素與訪問(wèn)列表元素一樣,根據(jù)索引即可修改元素的值。


          語(yǔ)法:

          列表名[index] = '新的值'

           

          例子

          # 修改第三個(gè)元素的值

          names_python_pc[2] = '扶搖'

          print('修改后的成員列表:{}'.format(names_python_pc))

           

          修改后的成員列表:['魏瓔珞', '陳升', '扶搖', '楊冪', 'TFboys', '傅恒']


          4.刪除列表元素:


          在項(xiàng)目中,我們經(jīng)常需要?jiǎng)h除列表中的元素。


          python可以根據(jù)索引值刪除,也可以根據(jù)元素值刪除。


          如果我們記得要?jiǎng)h除的元素的位置,則可以根據(jù)索引值刪除,用到的是語(yǔ)句del()或者方法pop。語(yǔ)句del(index) 根據(jù)索引值刪除元素,并且刪除后不可以賦值給任何變量;方法pop()刪除列表尾部的元素,或者pop(index)感覺(jué)索引值刪除,


          但是pop方法刪除后的元素可以賦值給變量。這就是兩者的最大區(qū)別。

          語(yǔ)法:

          del 列表名[indx]

          列表名.pop() 或者列表名.pop(index)

          例子

          # 刪除列表中的魏瓔珞

          del names_python_pc[0]

          print('del語(yǔ)句刪除列表中的魏瓔珞后的列表是{}'.format(names_python_pc))

           

          # POP方法刪除列表中的傅恒

          delete_name = names_python_pc.pop()

          print(f'pop方法刪除的元素是{delete_name}')

           

          # 根據(jù)位置刪除 扶搖

          delete_name_index = names_python_pc.pop(1)

          print(f'pop根據(jù)索引刪除的元素值是{delete_name_index}')

           

          del語(yǔ)句刪除列表中的魏瓔珞后的列表是['陳升', '扶搖', '楊冪', 'TFboys', '傅恒']

          pop方法刪除的元素是 傅恒

          pop根據(jù)索引刪除元素值是 扶搖


          如何我們不記得要?jiǎng)h除的列表元素的位置,只是記得值,可以采用的方法是remove()。如果列表中有多個(gè)類似的值,則remove()方法一次只能刪除一個(gè)。


          語(yǔ)法:

          列表名.remove('')

          例子

          print("原來(lái)的列表是:",names_python_pc)

          # 刪除列表中的TFboys

          names_python_pc.remove('TFboys')

          print(f'刪除后的列表是{names_python_pc}')

           

          原來(lái)的列表是: ['陳升', '楊冪', 'TFboys']

          刪除后的列表是['陳升', '楊冪']

           


          5.列表排序及其他

          很多時(shí)候,我們需要對(duì)列表中的元素進(jìn)行排序,然后進(jìn)行運(yùn)算。


          列表排序分為永久性排序和臨時(shí)性排序。永久性排序是真正修改列表元素的排列順序,用到的方法是sort(),默認(rèn)為升序。如果是降序,添加參數(shù) reverse=True。


          另外sort()中有一些選項(xiàng)很有用,比如使用字符串的長(zhǎng)度排序;而臨時(shí)性排序是不改變?cè)瓉?lái)的排列順序,用到的函數(shù)是sorted()。它返回一個(gè)新建的已排序列表,原來(lái)的列表順序不受影響。


          語(yǔ)法:

          永久排序:列表名.sort()

          臨時(shí)性排序: sorted(列表名)


          除了列表排序,列表中還有很多其他重要的方法,比如方法copy()復(fù)制列表、函數(shù)len()求列表長(zhǎng)度、函數(shù)reverse()反轉(zhuǎn)列表等


           在Python編程中,我們經(jīng)常使用 in 和not in 來(lái)判斷一個(gè)元素是否在列表中。如果滿足則返回True,否則返回False。


           

          在數(shù)據(jù)分析中,我們經(jīng)常需要把兩個(gè)列表拼接成一個(gè)列表。在Python中,我們使用加號(hào)(+)拼接兩個(gè)已經(jīng)存在的列表為一個(gè)新的列表;也可以使用extend方法向已存在的列表中添加另一個(gè)列表。

          注意第一種方法相對(duì)代價(jià)高,推薦使用extend方法拼接兩個(gè)存在的列表。


          除了拼接列表以外,我們有時(shí)候還需要復(fù)制多份同樣元素的列表。在Python中,我們使用星號(hào)(*)重復(fù)同樣元素的列表多份。


          以上內(nèi)容摘自《零基礎(chǔ)輕松學(xué) Python》

          瀏覽 18
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人网站十八禁 | 九七成人网 | 欧美性爱一区 | 欧美一级片在线电影 | 国产激情性爱小说视频 |