四、列表簡介
3.1 列表是什麽
列表由一系列按特定順序排列的元素組成。
在Python中,用方括號([ ])來表示列表,並用逗號來分隔其中的元素。
bicycles = [‘trek‘,‘cannondale‘,‘redline‘,‘specialized‘] print (bicycles)
將該列表打印出來,Python將打印列表的內部表示,包括方括號:
鑒於這不是你要讓用戶看到的輸出,下面來學習如何訪問列表元素。
3.1.1 訪問列表元素
列表是有序集合,因此要訪問列表的任何元素,只需將該元素的位置或索引告訴Python即可。要訪問列表的元素,可指出列表的名稱,再指出元素的索引,並將其放在方括號內。
bicycles = [‘trek‘,‘cannondale‘,‘redline‘,‘specialized‘] ① print (bicycles[0])
①處演示了訪問列表元素的語法。當你請求獲取列表元素時,Python只返回該元素,而不包括方括號和引號:
還可以使用方法title()讓元素‘trek’的格式更整潔:
bicycles = [‘trek‘,‘cannondale‘,‘redline‘,‘specialized‘] print (bicycles[0].title())
這個示例的輸出與前一個示例相同,只是首字母T是大寫的。
3.1.2 索引從0而不是1開始
在Python中,第一個列表的元素的索引為0,而不是1.在大多數編程語言中都是如此,這與列表操作的底層實現相關。如果結果出乎意料,請看看你是否煩了簡單的差一錯誤。
第二個列表元素的索引為1。根據這種簡單的計數方式,要訪問列表的任何元素,都可將其位置減1,並將結果作為索引。例如,要訪問第四個元素,可使用索引3。
下面的代碼訪問索引1和3處的自行車:
bicycles = [‘trek‘,‘cannondale‘,‘redline‘,‘specialized‘] print (bicycles[1]) print(bicycles[3])
這些代碼返回列表中的第二個和第四個元素:
Python為訪問最後一個列表元素提供了一種特殊語法。通過將索引指定為 -1 ,可讓Python返回最後一個列表元素:
bicycles = [‘trek‘,‘cannondale‘,‘redline‘,‘specialized‘] print (bicycles[-1])
這種語法很有用,因為你經常需要在不知道列表長度的情況下訪問最後的元素。這種約定也適用於其他負數索引,例如,索引-2返回倒數第二個列表元素,索引-3返回倒數第三個列表元素,以此類推。
3.1.3 使用列表中的各個值
可像使用其他變量一樣使用列表中的各個值。例如,你可以使用拼接根據列表中的值來創建消息。
bicycles = [‘trek‘,‘cannondale‘,‘redline‘,‘specialized‘] 1. message = "My first bicycle was a "+bicycles[0].title()+"." print (message)
我們使用bicycles[0]的值生成了一個句子,並將其存儲在變量message中(見1.)。輸出是一個簡單的句子,其中包含列表中的第一款自行車:
3.2 修改、添加和刪除元素
修改列表元素的語法與訪問列表元素的語法類似。要修改列表元素,可指定列表名和要修改的元素的索引,再指定該元素的新值。
例如,假設有一個摩托車列表,其中的第一個元素為‘honda‘,如何修改它的值呢?
motorcycles.py
① motorcycles = [‘honda‘,‘yamaha‘,‘suzuki‘] print(motorcycles) ② motorcycles[0] = ‘ducati‘ print(motorcycles)
我們首先定義一個摩托車列表,其中的一個元素為‘honda‘(見①)。接下來,我們將第一個元素的值改為‘ducati‘(見②)。輸出表明,第一個元素的值確實變了,但其他列表元素的值沒變:
3.2.2 在列表中添加元素
1.在列表末尾添加元素
在列表中添加元素時,最簡單的方式是將元素附加到列表末尾。給列表附加元素時,它將添加到列表末尾。繼續使用前一個示例中的列表,在其末尾添加新元素’ducati‘:
motorcycles = [‘honda‘,‘yamaha‘,‘suzuki‘] print(motorcycles) ① motorcycles.append(‘ducati‘) print(motorcycles)
方法append()將元素‘ducati’添加到了列表末尾(見①),而不影響列表中的其他所有元素:
2.在列表中刪除元素
使用方法inset()可在列表的任何位置添加新元素。為此,你需要指定新元素的索引和值。
motorcycles = [‘honda‘,‘yamaha‘,‘suzuki‘] print(motorcycles) ① motorcycles.insert(0,‘ducati‘) print(motorcycles)
在這個示例中,值’ducati‘被插入到了列表開頭(見①);方法insert()在索引0處添加空間,並將值’ducati‘存儲到這個地方。這種操作將列表中既有的每個元素都右移一個位置:
四、列表簡介