1. 程式人生 > >python基礎篇--列表

python基礎篇--列表

python資料結構-列表

    列表是序列中的一種,序列包括字串,列表,元組。其中序列是python中最基本的資料結構,序列中的每個元素都有編號(索引)。

    通用的序列操作:索引,切片,相加,相乘,和成員資格檢查,另外python還提供了一些內建函式,可用於確定序列的長度以及找出序列中的最大值和最小值

    索引:序列中的所有元素都有編號-從0開始遞增,當你使用負數索引時,python將從右開始往左數,因此-1是最後一個元素的位置

    >>>greeting = ''hello"    

    >>> greeting[0]

    'h'

    >>>greeting[-1]

    'o'

    切片:通過切片來訪問特定範圍內的元素,為此可使用兩個索引,並用冒號分隔,其中[a:b:c],a表示第一個索引的位置,b表示第二個索引的位置,c表示步長,當從左往右切片是,步長必須為正整數,否則切出來的就是個[],同理當從右往左切片,步長必須為負整數,當不知道起始索引時,起始索引為0,當不知道結束索引時,結束索引為最後一個元素位置,步長預設為1

    >>>numbers = [1,2,3,4,5,6,7,8,9,10]

    >>>numbers[3:6]       [4,5,6]

    >>>numbers[-3:-1]     [8,9]

    >>>numbers[-3:0]       []

    >>>numbers[-3:]         [8,9,10]

    >>>numbers[:3]          [1,2,3]

    >>>numbers[:10:2]      [1,3,5,7,9] 

    >>>numbers[8:3:-1]     [9,8,7,6,5]

    相加:可使用加法運算子來拼接序列,但是一般而言,不能拼接不同型別的序列,[1,2]+"hello" 拼接將會報錯

    相乘:將序列與數x相乘時,將重複這個序列x次來建立一個新序列

    >>>'python'*2

    pythonpython

    成員資格檢查:要檢查特定的值是否包含在序列中,可使用運算子in,如存在則返回True,否則返回False.存在in同樣存在not in,其邏輯和in邏輯相反,當序列為字串時,則檢查的是是否為子字串。

    >>>num = [1,2,3]

    >>>1 in num

    True

python的主力列表:列表也是序列,它不同元組和字串,列表是可變的,即可修改其內容,另外還有很多獨特的方法

     列表的建立:1:可直接指定 b = [1,2]   2:使用內建函式list(arg)來建立列表,當arg為空時,表示建立一個空列表,arg可以是任何的序列 list('python') -> ['p','y','t','h','o','n']

     列表操作

            1,修改列表:給元素賦值 ,通過使用索引來給列表中的指定值賦值 

                  >>>n = [1,2,3]

                  >>>n[1] = 1

                  >>>n

                  [1,1,3]

            2,刪除元素 通過del來刪除列表中的指定值  del n[2],del不僅可以用來刪除列表元素,還可以刪除變數,字典。

                  >>>del n[2]

                  >>>n

                  [1,2]

            3,給切片賦值:通過使用切片賦值,可將切片替換為長度與其不同的序列,也可以通過切片來進行插入和刪除

                  >>>num = [2,3,4,5]

                  >>>num[0:1] = [1,2]

                  >>>num

                  [1,2,3,4,5]

     列表方法:方法是與物件緊密聯絡的函式。方法的呼叫和函式呼叫很像,只是方法是通過物件來呼叫的類似於object.method(arguments)

              1,append : 方法append是將一個物件附加到列表末尾。append是在原列表的基礎上修改。

              2,clear:方法clear就地清空列表的內容

              3,copy:複製列表,建立一個新的副本,本同於使用切片num[:]或list(num),

              4,count:方法count計算指定的元素在列表中出現了多少次

              5,extend:方法extend讓你能同時將多個值附加到列表末尾

              6,index:方法index在列表中查詢指定值第一次出現的索引

              7,insert:方法insert用於將一根物件插入列表,接收兩個引數,第一個為索引位置,第二個為插入的物件

              8,pop:方法pop從列表中刪除一根元素,並返回這一元素,當沒引數的時候返回最後一個值,當指定索引時,返回指                             定的值

              9,remove:用於刪除第一個為指定值的元素

              10,reverse:按相反的順序排列列表中的元素,reversed函式可以對指定的序列逆序排列,並返回一根迭代器

              11,sort:對列表就地排序,sorted則是獲取排序後的副本,這是一個排序後的新列表

              12,sort的高階排序:可以對列表進行指定排序sort(key,reverse)key為指定的排序函式,reverse確定是否要按相反的                                                 順序對列表進行排序,x = ["aaaaa","aa","aaa","a","aaaa"] x.sort(key=len,reverse=True)