Python基本數據類型——列表


序列

序列是Python中的內置數據結構,常見的序列有:列表、字典、元組。 所有的序列都有自己的索引,程序可以通過索引來訪問對應的值。


列表 list

list是Python的一種最常見的內置數據類型。list是一種無序的可重復的數據序列,可以隨時添加和刪除其中的元素。列表的長度一般是事先未確定的,並可在程序執行期間發生改變。

列表的每個元素都分配一個數字索引,和C語言中的數組一樣的從0開始。 列表的創建使用兩個方括號“[]”,並使用逗號作為元素的分割。 列表並不要求其元素的類型相同,只需將其元素通過逗號分割開來即可。

創建list

>>> list_1 = [3,1,2,'c','b','a']
>>> list_1
[3, 1, 2, 'c', 'b', 'a']

訪問list中的元素

list對每個元素都指定了對應的從0開始的數字索引,也就是元素在list中的位置,程序可以通過這個索引來訪問對應的元素。

>>> list_2 = ['a','b','c','d','e','f','g','h','i','j']
>>> list_2[1]
'b'
>>> list_2[5]
'f'

list的切片訪問

list訪問元素是通過其索引來實現的,除了可以一個個地訪問,也可以通過list的切片功能來實現批量訪問。

切片訪問列表采用:list_name[begin:end:step] 來實現。begin表示起始位置(默認為0),end表示結束位置(默認為最后一個元素),step是步長(默認為1)。

切片訪問如果是連續的順序元素,將不會包括最后一個元素。

例1:訪問位置從1開始,到5結束的所有元素

>>> list_2 = ['a','b','c','d','e','f','g','h','i','j']
>>> list_2[1:5] 
['b', 'c', 'd', 'e'] # 輸出的結果不包括下表為5的元素

例2:訪問偶數下表的所有訪問:

>>> list_2 = ['a','b','c','d','e','f','g','h','i','j']
>>> list_2[0::2]
['a', 'c', 'e', 'g', 'i']

例3:訪問最后一個元素: >>> list_2[-1] 'j' # 同理,倒數第二個元素,以此類推 >>> list_2[-2]
'i' >>> list_2[-3] 'h'

例4:訪問最后三個元素:

>>> list_2[-1:-4:-1]
['j', 'i', 'h']
>>> 

元素類型

由於,Python中的list對其元素並沒有做限制,只要是合法的對象都可以作為其元素。

例如:嵌套list

>>> Lst1 = [1,2,3]
>>> Lst2 = ['a','b','c']
>>> Lst3 = [ Lst1 , Lst2 ] 
>>> Lst3
[[1, 2, 3], ['a', 'b', 'c']]
>>> Lst3[0]
[1, 2, 3]
>>> Lst3[1]
['a', 'b', 'c']

例如:訪問內嵌list的元素

# 可以理解為: Lst3[0] ==> Lst1,然后采用list常規的操作方式即可實現對Lst3[0]進行操作。
>>> Lst3[0][1]  
2
>>> Lst3[0][1:3]
[2, 3]

列表中的常見的方法:

  • append(item):列表末尾插入item

例如:添加一個元素

>>> list = ['a','b','c']
>>> list
['a', 'b', 'c']
>>> list.append('d')
>>> list
['a', 'b', 'c', 'd']

例如:添加一個新列表

>>> list.append([1,2,3])
>>> list
['a', 'b', 'c', 'd', [1, 2, 3]]
  • count(element):返回element在列表中的個數

例如:添加一個元素“a”,返回其在列表中個數

>>> list.append('a')
>>> list
['a', 'b', 'c', 'd', [1, 2, 3], 'a']
>>> list.count('a') 
2
  • extend(newlist):將newlist列表中的元素添加到列表末尾

例如:將['e','f','g']中的所有元素添加為list中的元素,而不是嵌套插入

>>> list.extend(['e','f','g'])
>>> list
['a', 'b', 'c', 'd', [1, 2, 3], 'a', 'e', 'f', 'g']
  • index(element):返回element在列表中的首次出現的索引。

例如:“a”在list中有兩個,現在需要返回其第一次出現時的索引

>>> list.index('a')
0
  • insert(index,item):在位置index插入item

例如:在第0個位置插入“A”

>>> list.insert(0,'A')
>>> list
['A', 'a', 'b', 'c', 'd', [1, 2, 3], 'a', 'e', 'f', 'g']
>>> list.index('a')   
1
  • pop([index]):index位置參數是可選的。如果無參數,則會刪除並返回最后一個元素;有參數則刪除並返回指定位置的元素。

例如:[1, 2, 3]在 list 中的第5個位置,將其刪除

>>> list.pop(5)
[1, 2, 3]
>>> list
['A', 'a', 'b', 'c', 'd', 'a', 'e', 'f', 'g']
>>> 
  • remove(element):刪除首次在列表中出現的element。

例如: 將首次出現的“a”刪除

>>> list.remove('a')
>>> list
['A', 'b', 'c', 'd', 'a', 'e', 'f', 'g']
>>> 
  • reverse():反轉列表中的內容。

例如:翻轉整個list

>>> list.reverse()
>>> list
['g', 'f', 'e', 'a', 'd', 'c', 'b', 'A']
  • sort([compare-funciton]):對列表進行排序。可選參數“compare-function”是一個函數,指定比較的條件。

例如:默認的排序方式

>>> list = [5,6,65,32,1,32]  
>>> list.sort()
>>> list
[1, 5, 6, 32, 32, 65]
>>> list = ['c','e','a','r','b']
>>> list.sort()
>>> list
['a', 'b', 'c', 'e', 'r']

Python列表腳本操作符

列表支持 + 和 * 的操作符。

+ :用於組合列表

>>> [1,2,3] + [4,5,6]
[1, 2, 3, 4, 5, 6]

*:用於重復列表

>>> [1,2,3] * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM