Python 基礎學習 列表

        列表是Python中用得比較多的一種數據結構,類似於java中數組,用於存儲多個數據,用成對中括號‘[  ]’表示,各個元素用逗號‘,’隔開,列表中的元素有有序的,先加入的元素排在前面,後加入的元素依次排在後面。不同於java數組的是Python中的列表可以存儲任意不同的數據類型,如整型、浮點型、布爾型、字符串和元組等,甚至還可以嵌套列表已經用戶自定義的數據類型。


列表的定義和賦值:

        列表的定義有兩種方式,一種是應用中括弧,在定義的同時可以爲列表賦值,另一種是調用內置函數list()。具體使用如下:

'''Python列表的定義和賦值'''

# 一、應用中括弧定義:
list1 = []    #定義一個空列表
list2 = [1,1.5,True,'a','Python']    #定義一個列表的同時給列表賦值

# 二、調用內置函數list()定義:
list3 = list()    #定義一個空列表
list4 = list([1,1.5,True,'a','Python'])  #定義一個列表的同時給列表賦值
        值得注意的是,當調用list()函數定義列表的時候,list()只有一個參數,且參數必須是一個系列,如列表、元組和字符串等,像這樣的定義將會報錯:list1 = list(1),list2 = list(True),並且,當傳入的是一個字符串時,得到的是以該字符串的每個字符爲元素的列表,而不是把該字符串作爲一個元素。 

列表多的常用操作:

       在定義好列表以後,接下來我們具體看看列表的常用操作。

索引

       列表通過索引獲取列表中的某個元素或者多該元素進行操作,其方式爲:列表名[下標],不過列表的索引也是從零開始的,即第一個元素的下標是0,最後一個元素的下標是列表的長度-1,當引用越界時同樣也會報錯。

#列表的索引
>>> list2[0]    #獲取第一個元素
1
>>> list2[4]    #獲取最後一個元素,列表索引有效值期間爲0到len()-1之內
'Python'   

        特別的,Python的索引值也可以爲負數,最後一個元素爲-1,第一個元素爲-len()。

>>> list2[-1]    #獲取最後一個元素
'Python'
>>> list2[-5]    #獲取第一個元素
1

切片

       通過索引可以獲得列表的一個元素值,而通過切片可以截取列表的某個片段,即得到的片段還是一個列表。其格式爲:列表名[初值:末值:步長],默認情況下,步長爲1。需要注意的是切片是前包括後不包括,也就是說,截取的片段包括初值而不包括末值,另外,初值或末值也可以省略。

>>> list2[0:5]    #獲取列表的每個元素,等同於列表本身
[1, 1.5, True, 'a', 'Python']
>>> list2[0:5:1]    #默認情況下步長爲1
[1, 1.5, True, 'a', 'Python']
>>> list2[0:-1]    #同樣的切片中也可以用負數
[1, 1.5, True, 'a']
>>> list2[0:-1:2]    #步長爲2
[1, True]
>>> list2[:]    #省略初值和末值,缺省情況下,初值爲第一個元素,末值爲最後一個元素
[1, 1.5, True, 'a', 'Python']

常用函數

       Python爲我們提供許多的內建函數來操作列表。

list.append(x):在列表list的尾部追加一個元素,類型可以爲列表允許的數據結構

list.extend(L):在list的尾部累加列表L,等價於list + L

list.insert(i,x):在列表給定的位置上插入一個元素,當i > len(list)時,等價list.append(x)

list.remove(x):刪除列表中第一次出現的元素x,如果列表中沒有x則會報異常

list.pop([ i ]):刪除給定位置上 i 的元素並返回,如果沒有指定則刪除最後一個元素並返回

list.index(x):返回元素x第一次出現位置的索引,如果列表中沒有x元素則報異常

list.count(x):返回列表中x出現的次數

list.sort():對列表的元素進行排序,其默認排序規則爲cmp(x , y)

list.reverse():顛倒元素的順序

>>> list2.append(2)    #在列表的末尾追加元素2
>>> list2
[1, 1.5, True, 'a', 'python', 2]
>>> list2.extend([5,4,3]) #追加列表[5,4,3]
>>> list2
[1, 1.5, True, 'a', 'python', 2, 5, 4, 3]
>>> list2.insert(0,'new item') #下標爲0處插入元素
>>> list2
['new item', 1, 1.5, True, 'a', 'python', 2, 5, 4, 3]
>>> list2.insert(100,'new item')
>>> #當下標大於元素的個數時,在末尾插入
>>> list2
['new item', 1, 1.5, True, 'a', 'python', 2, 5, 4, 3, 'new item']
>>> list2.remove('new item') #刪除列表中第一個'new item'
>>> list2
[1, 1.5, True, 'a', 'python', 2, 5, 4, 3, 'new item']
>>> list2.pop(9)  #刪除list2[9]並返回
'new item'
>>> list2
[1, 1.5, True, 'a', 'python', 2, 5, 4, 3]
>>> list2.index(1) #返回元素1的索引
0
>>> list2.count(2)  #返回元素2在列表中的個數
1
>>> list2.sort()  #對元素進行排序
>>> list2
[1, True, 1.5, 2, 3, 4, 5, 'a', 'python']
>>> list2.reverse()
>>> #顛倒list2中的元素
>>> list2
['python', 'a', 5, 4, 3, 2, 1.5, True, 1]















發佈了20 篇原創文章 · 獲贊 4 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章