列表的創建、特點以及內存分析

列表的創建(3種方式和推導式創建列表方法):

        1.基本語法[]創建

          >>>a=[10,20,30,40]

          >>>a=[]           #創建一個空的列表對象

         2.list()創建

            使用list()可以將任何可迭代的數據轉化成列表

            >>>a=list()

            >>>a=list(range(10))

            >>>a

            [0,1,2,3,4,5,6,7,8,9]

            >>>a=list("hello world")

            >>>a

            ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']

          3.range()創建整數列表

             range()可以幫我們非常方便的創建整數列表,這在開發中及其有用,語法格式:

                        range([start,],end.[,step])

                        start 參數:可選,表示起始數字,默認爲0

                        end  參數:可選,表示結尾數字

                        step 參數: 可選,表示步長,默認爲1

              Python3中range()發回的是一個range對象,而不是一個列表,我們需要通過list()方法將其轉換成列表對象。

              例子:

                     >>>list(range(3,15,2))

                     [3,5,7,9,11,13]

                     >>>list(range(10,3,-1))

                     [10, 9, 8, 7, 6, 5, 4]

                     >>>list(range(3,-10,-1))

                     [3, 2, 1, 0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

          4.推導式生成列表(簡單介紹一下)

              使用列表推導式非常方便的創建列表,在開發中經常使用。

               例子:

                       >>>a=[x*2 for x in range(5)]

                       >>>a       

                       [0, 2, 4, 6, 8]

                       >>>a=[x*2 for x in range(100) if x%9==0]    #通過if過濾元素

                       >>>a

                       [0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198]

序列:

      序列是一種數據存儲方式,用來存儲一系列的數據,在內存中,序列就是一塊用來存放多個值得連續的內存空間,比如一個整數序列[10,20,30,40],可以這樣表示:

10 20 30 40

由於Python3中一切皆對象,在內存中實際是按照如下方式存儲的

a=[10,20,30,40]

從圖中,可以看到序列中存儲的是整數對象的地址,而不是整數對象的值,python中常用的序列結構有:

字符串,列表,元組,字典,集合

列表:用於存儲任意數目、任意類型的數據集合

列表是內置可變序列,是包含多個元素的有序連續的內存空間,列表定義的標準語法格式:

a=[10,20,30,40]

其中,10,20,30,40這些稱爲,列表a的元素。

列表中的元素可以各不相同,可以任意類型,比如:

a=[10,20,30,"ab","cd",True]

列表對象的常用方法彙總,如下:

方法 要點 描述
list.append(x) 增加元素 將列表元素x增加到列表list尾部
list.extend(aList) 增加元素 將列表alist所有元素加到列表list尾部
list.insert(index,x) 增加元素 在列表list指定位置inidex處插入元素x
list.remove(x) 刪除元素 在列表list中刪除首次出現的指定元素x

list.pop([index])

刪除元素 刪除並返回列表list指定爲止index處的元素,默認是最後一個元素
del list[index] 刪除元素 按照列表list的index刪除元素
list.clear() 刪除所有元素 刪除列表所有元素,並不是刪除列表對象
list.index(x) 訪問元素 返回第一個x的索引位置,若不存在x元素拋出異常
list.count(x) 計數 返回指定元素x在列表list中出現的次數
len(list) 列表長度 返回列表中包含元素的個數
list.reverse() 旋轉列表 所有元素原地旋轉
list.sort() 排序 所有元素排序
list.copy() 淺拷貝 返回列表對象的淺拷

Python的列表大小可變,根據需要隨時增加或者縮小。 字符串和列表都是序列,一個字符串是一個字符序列,一個列表適任何元素的序列。 很多字符串的方法,在列表中也有類似的用法,幾乎一模一樣。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章