1. 程式人生 > >python列表簡介

python列表簡介

python

是什麽列表:列表讓你能夠在一個地方存儲成組的信息,其中可以包含幾個元素,也可以包含百萬個元素。列表是新手可直接使用的最輕大的Python功能之一,它融合了眾多重要編程的概念。
列表的定義:列表是由一系列按特定順序排列的元素組成。鑒於列表包含多個元素給列表指定一個表示附屬的名稱(如letters、names)是一個不錯的主意。

在Python中用方括號[ ]來表示列表,並用逗號分割其中的元素。
例如:
[root@localhost ~]# cat bicycles.py bicycles = [‘trek‘,‘cannondale‘,‘redline‘,‘specialized‘]print(bicycles)[root@localhost ~]# python bicycles.py [‘trek‘, ‘cannondale‘, ‘redline‘, ‘specialized‘]
可以看出上面並不是我們想要看到的,列表打印出來,Python將打印列表的內部顯示,包括方括號。

1.1.1訪問列表元素
列表是有序集合,因此要訪問列表的任何元素,只需將該元素的位置或索引告訴Python即可。要訪問列表元素,可支出列表的名稱,再指出元素的索引,並將其放在方括號內。
例如,提取第一個元素[root@localhost ~]# cat bicycles.py bicycles = [‘trek‘,‘cannondale‘,‘redline‘,‘specialized‘]print(bicycles[0])[root@localhost ~]# python bicycles.py trek

1.1.2索引從0而不是從1開始
在Python中,第一個列表元素的索引是0而不是1。在大多數編程語言中都是這樣。這與列表操作的底層實現相關。
要訪問列表的任何元素,都可將其位置減1 (n-1)
Python為訪問最後一個列表元素提供了一種特殊語法。通過將索引指定為-1(-2為倒數第二個 -3為第三個,以此類推)
[root@localhost ~]# cat bicycles.py bicycles = [‘trek‘,‘cannondale‘,‘redline‘,‘specialized‘]print(bicycles[-1])[root@localhost ~]# python bicycles.py specialized
這個目的是,不知道列表長度的情況下訪問最後的元素。這種約定也適用於其他負數索引。

1.1.3使用列表中的各個值
從列表中提取一個元素,並用這個值創建一條消息。
[root@localhost ~]# cat bicycles.py bicycles = [‘trek‘,‘cannondale‘,‘redline‘,‘specialized‘]message = "my first bicycle was a " + bicycles[0].title() + "."print(message)[root@localhost ~]# python bicycles.py my first bicycle was a Trek.
1.2修改、添加和刪除元素
1.2.1修改列表元素
要修改列表元素,可指定列表名和要修改的元素索引,再指定該元素的新值
[root@localhost 列表]# cat modification.pymodification = [‘honda‘,‘yamaha‘,‘suzuki‘]print(modification)modification[0] = ‘xiaoxin‘print(modification)[root@localhost 列表]# python modification.py[‘honda‘, ‘yamaha‘, ‘suzuki‘][‘xiaoxin‘, ‘yamaha‘, ‘suzuki‘]
1.2.2在列表中添加元素
(1)在列表末尾添加元素
方法append()將元素添加到了列表末尾 append:添加的意思
[root@localhost 列表]# cat modification.py modification = [‘honda‘,‘yamaha‘,‘suzuki‘]print(modification)modification[0] = ‘xiaoxin‘print(modification)modification.append(‘shuai‘)print(modification)[root@localhost 列表]# python modification.py[‘honda‘, ‘yamaha‘, ‘suzuki‘][‘xiaoxin‘, ‘yamaha‘, ‘suzuki‘][‘xiaoxin‘, ‘yamaha‘, ‘suzuki‘, ‘shuai‘]
方法append動態創建列表——可以先創建一個空列表,再使用一系列append()語句添加元素。
這種創建方式的好處是,要經常等程序運行後,你才知道用戶要在程序中存儲那些數據,為控制用戶,首先創建一個空列表。用於存儲用戶將要輸入的值。然後將用戶提供的每個區別只顧附加到列表中。
[root@localhost 列表]# cat modification.py message = []message.append(‘shuai‘)message.append(‘xiao‘)message.append(‘xin‘)print(message)[root@localhost 列表]# python modification.py[‘shuai‘, ‘xiao‘, ‘xin‘]
(2)在列表中插入元素
方法insert()在索引0處添加空間,並元素值存儲到這個地方。這種操作將列表中每個元素都右移一個位置
[root@localhost 列表]# cat modification.py message = [‘a‘,‘b‘,‘c‘]message.insert(0,‘cat‘)print(message)[root@localhost 列表]# python modification.py[‘cat‘, ‘a‘, ‘b‘, ‘c‘]
1.2.3從列表中刪除元素
(1)使用del語句刪除元素
如果知道要刪除的元素在列表中的位置,可使用del語句
[root@localhost 列表]# cat modification.py message2 = [‘1‘,‘2‘,‘3‘]print(message2)del message2[2]print(message2)[root@localhost 列表]# python modification.py[‘1‘, ‘2‘, ‘3‘][‘1‘, ‘2‘]
使用del可以刪除任何位置處的列表元素,條件是知道索引。使用del語句從列表中刪除後,你就無法再訪問它了。
(2)pop()刪除元素
有時候你要將元素從列表中刪除,並接著使用它的值用del顯然是不行的
[root@localhost 列表]# cat modification.py message3 = [‘A‘,‘B‘,‘C‘]print(message3)message4 = message3.pop()print(message3)print(message4)[root@localhost 列表]# python modification.py[‘A‘, ‘B‘, ‘C‘][‘A‘, ‘B‘]C
首先定義一個列表並打印,其次將刪除的元素存儲到另一個變量中去,最後打印刪除的元素 也可以根基索引來刪除元素。例如 message4 = message3.pop(2)
1.2.4根據值刪除元素
有時候,你不知道要從列表中刪除的值的所在位置,如果你只知道要刪除的元素的值,可使用remove()
[root@localhost 列表]# python modification.py [‘A‘, ‘B‘, ‘C‘, ‘D‘][‘A‘, ‘C‘, ‘D‘][root@localhost 列表]# cat modification.py message5 = [‘A‘,‘B‘,‘C‘,‘D‘]print(message5)message5.remove(‘B‘)print(message5)

1.3組織列表
1.3.1使用sort()對列表進行永久性排序
在創建列表中,往往需要對元素進行排序。使用sort()對列表進行永久排序。
[root@localhost 列表]# cat cars.py cars = [‘bmw‘,‘audi‘,‘toyota‘,‘subaru‘]cars.sort()print(cars)[root@localhost 列表]# python cars.py [‘audi‘, ‘bmw‘, ‘subaru‘, ‘toyota‘]
還可以按與字母順序相反的順序排列只需向sort()方法傳遞參數。reverse=True,註意True中的‘T’一定大寫
[root@localhost 列表]# cat cars.py cars = [‘bmw‘,‘audi‘,‘toyota‘,‘subaru‘]cars.sort(reverse=True)print(cars)[root@localhost 列表]# python cars.py [‘toyota‘, ‘subaru‘, ‘bmw‘, ‘audi‘]
上面兩種方法對列表的修改順序是永久性的。

1.3.2使用函數sorted()對列表進行臨時排序
[root@localhost 列表]# cat cars1.py cars = [‘bmw‘,‘audi‘,‘toyota‘,‘subaru‘]print(sorted(cars))[root@localhost 列表]# python cars1.py [‘audi‘, ‘bmw‘, ‘subaru‘, ‘toyota‘]
溫馨提示:
關於順序的修改永久性和臨時性可以這樣理解,當進行排序後永久性生效是下次打印列表時,元素還是按照順序排列,二臨時性二次打印時,順序排列取消。例如:[root@localhost 列表]# cat cars.py cars = [‘bmw‘,‘audi‘,‘toyota‘,‘subaru‘]cars.sort()print(cars)print(cars)[root@localhost 列表]# python cars.py [‘audi‘, ‘bmw‘, ‘subaru‘, ‘toyota‘][‘audi‘, ‘bmw‘, ‘subaru‘, ‘toyota‘]臨時排序:[root@localhost 列表]# cat cars1.py cars = [‘bmw‘,‘audi‘,‘toyota‘,‘subaru‘]print(sorted(cars))print(cars)[root@localhost 列表]# python cars1.py [‘audi‘, ‘bmw‘, ‘subaru‘, ‘toyota‘][‘bmw‘, ‘audi‘, ‘toyota‘, ‘subaru‘]
1.3.3倒著打印列表
所謂倒著打印,就是反轉打印,不按照字母排序的打印。永久性修改列表元素的排列順序,但可能隨時恢復原來的排列順序,只需要再次調用reverse()即可
[root@localhost 列表]# cat cars.py cars = [‘bmw‘,‘audi‘,‘toyota‘,‘subaru‘]cars.reverse()print(cars)[root@localhost 列表]# python cars.py [‘subaru‘, ‘toyota‘, ‘audi‘, ‘bmw‘]
1.3.4確定列表的長度,Python計算列表元素時從1開始
[root@localhost 列表]# cat cars.py cars = [‘bmw‘,‘audi‘,‘toyota‘,‘subaru‘]print(len(cars))[root@localhost 列表]# python cars.py 4

python列表簡介