1. 程式人生 > >Python基礎 列表介紹、使用

Python基礎 列表介紹、使用

opp 3-9 活躍 dal 方法 xiaomi 想想你 任務 拼接

第3章
學習目標:

列表是什麽以及如何使用列表元素。列表讓你能夠在一個地方存儲成組的信息,其中可以只包含幾個元素,也可以包含數百萬個元素。列表是新手可直接使用的最強大的Python功能之一,它融合了眾多重要的編程概念。

3.1 列表是什麽

列表由一系列按特定順序排列的元素組成。你可以創建包含字母表中所有字母、數字0~9或
所有家庭成員姓名的列表;也可以將任何東西加入列表中,其中的元素之間可以沒有任何關系。
鑒於列表通常包含多個元素,給列表指定一個表示復數的名稱(如letters、digits或names)是
個不錯的主意。

在Python中,用中括號 [] 表示列表,並用逗號來分隔其中的元素。

例如:

bicycles.py

bicycles = [ ‘trek‘,‘cannondale‘,‘redline‘,‘specialired‘ ]
print(bicycles)
# 結果:
[‘trek‘, ‘cannondale‘, ‘redline‘, ‘specialired‘]

3.1.1 訪問列表元素

列表是有序集合,因此要訪問列表的任何元素,只需將該元素的位置或索引告訴Python即可。
要訪問列表元素,可指出列表的名稱,再指出元素的索引,並將其放在方括號內。

# 例如,從列表bicycles中提取第一款自行車

bicycles = [ ‘trek‘,‘cannondale‘,‘redline‘,‘specialired‘ ]

print(bicycles[0])
# 結果:
trek

# 當然,或者 可使用方法title()讓元素 ‘trek‘的格式更整潔:
print(bicycles[0].title())
# 這個示例的輸出與前一個示例相同,只是首字母T是大寫的。

3.1.2 檢索從0而不是1開始

在Python中,第一個列表元素的索引為0,而不是1。在大多數編程語言中都是如此,這與列
表操作的底層實現相關。

print(bicycles[1])

print(bicycles[3])

# 這些代碼返回列表中得第二個和第四個元素:
cannondale
specialized

# Python為訪問最後一個列表元素提供了一種特殊語法。通過將索引指定為-1,可讓Python返
回最後一個列表元素:
print(bicycles[-1])

這些代碼返回‘specialized‘。這種語法很有用,因為你經常需要在不知道列表長度的情況
下訪問最後的元素。這種約定也適用於其他負數索引,例如,索引-2返回倒數第二個列表元素,
索引-3返回倒數第三個列表元素,以此類推。

3.1.3 使用列表中的各個值

可像使用其他變量一樣使用列表中的各個值。例如,你可以使用拼接根據列表中的值來創建
消息。
下面來嘗試從列表中提取第一款自行車,並使用這個值來創建一條消息:

message = "My first bicycle was a " + bicycles[0].title() + "."

print(message)

# 結果:
My first bicycle was a Trek.

動手試一試

請嘗試編寫一些簡短的程序來完成下面的練習,以獲得一些使用Python 列表的第
一手經驗。你可能需要為每章的練習創建一個文件夾,以整潔有序的方式存儲為完成各
章的練習而編寫的程序。

3-1 姓名:將一些朋友的姓名存儲在一個列表中,並將其命名為names。依次訪問
該列表中的每個元素,從而將每個朋友的姓名都打印出來。

names = [ ‘zhangsan‘,‘lisi‘,‘wangwu‘,‘zhaoliu‘]
print(names[0])
print(names[1])
print(names[-2])
print(names[-1])

# 結果:
zhangsan
lisi
wangwu
zhaoliu

3-2 問候語:繼續使用練習3-1 中的列表,但不打印每個朋友的姓名,而為每人打
印一條消息。每條消息都包含相同的問候語,但擡頭為相應朋友的姓名。

messname1 = "Hi " + names[0].title() + "."

messname2 = "Hi " + names[1].title() + "."

messname3 = "Hi " + names[2].title() + "."

messname4 = "Hi " + names[3].title() + "."

print(messname1)
print(messname2)
print(messname3)
print(messname4)

# 結果:
Hi Zhangsan.
Hi Lisi.
Hi Wangwu.
Hi Zhaoliu.

3-3 自己的列表:想想你喜歡的通勤方式,如騎摩托車或開汽車,並創建一個包含
多種通勤方式的列表。根據該列表打印一系列有關這些通勤方式的宣言,如“I would like
to own a Honda motorcycle”。

bicycles = [‘bike‘,‘electric car‘,‘motorbike‘,‘car‘]

mess1 = "I want to buy an " + bicycles[1].title() + "."

print(mess1)

# 結果:
I want to buy an Electric Car.

3.2 修改、添加和刪除元素

創建的大多數列表都將是動態的,這意味著列表創建後,將隨著程序的運行增刪元素。例如:你創建一個遊戲,要求玩家射殺從天而降的外星人;為此,可在開始時將一些外星人存儲在
列表中,然後每當有外星人被射殺時,都將其從列表中刪除,而每次有新的外星人出現在屏幕上
時,都將其添加到列表中。在整個遊戲運行期間,外星人列表的長度將不斷變化。

3.2.1 修改列表元素

修改列表元素的語法與訪問列表元素的語法類似。要修改列表元素,可指定列表名和要修改
的元素的索引,再指定該元素的新值。

例如:

motorcycles.py
-----------------------------------------
motorcycles = [‘honda‘,‘yamaha‘,‘suzuki‘]
print(motorcycles)

motorcycles[0] = ‘ducati‘
print(motorcycles)
-----------------------------------------
[‘honda‘, ‘yamaha‘, ‘suzuki‘]
[‘ducati‘, ‘yamaha‘, ‘suzuki‘]

3.2.2 在列表中添加元素

你可能出於眾多原因要在列表中添加新元素,例如,你可能希望遊戲中出現新的外星人、添
加可視化數據或給網站添加新註冊的用戶。Python提供了多種在既有列表中添加新數據的方式。

  1. 在列表末尾添加元素

在列表中添加新元素時,最簡單的方式是將元素附加列表末尾。給列表附加元素時,它將
添加到列表末尾。繼續使用前一個示例中的列表,在其末尾添加新元素‘ducati‘:

motorcycles.append(‘ducati‘)
print(motorcycles)
---------------------------------------
[‘ducati‘, ‘yamaha‘, ‘suzuki‘, ‘ducat‘]
# 方法append()將元素‘ducati‘添加到了列表末尾 ,而不影響列表中的其他所有元素

方法append()讓動態地創建列表易如反掌,例如,你可以先創建一個空列表,再使用一系列的
append()語句添加元素。下面來創建一個空列表,再在其中添加元素‘honda‘、‘yamaha‘和‘suzuki‘:

motorcycles = []

motorcycles.append(‘honda‘)
motorcycles.append(‘yamaha‘)
motorcycles.append(‘suzuki‘)

print(motorcycles)
-----------------------------
[‘honda‘, ‘yamaha‘, ‘suzuki‘]

這種創建列表的方式極其常見,因為經常要等程序運行後,你才知道用戶要在程序中存儲哪
些數據。為控制用戶,可首先創建一個空列表,用於存儲用戶將要輸入的值,然後將用戶提供的
每個新值附加到列表中。

  1. 在列表中插入元素

使用方法insert()可在列表的任何位置添加新元素。為此,你需要指定新元素的索引和值。

motorcycles.insert(0,‘ducati‘)
print(motorcycles)
---------------------------------------
[‘ducati‘, ‘honda‘, ‘yamaha‘, ‘suzuki‘]

# 在這個示例中,值‘ducati‘被出入到列表開頭;方法insert()在索引0處添加空間,並將值‘ducati‘存儲到這個地方。這種操作將列表中既有的每個元素都右一個位置。

3.2.3 從列表中刪除元素

你經常需要從列表中刪除一個或多個元素。例如,玩家將空中的一個外星人射殺後,你很可
能要將其從存活的外星人列表中刪除;當用戶在你創建的Web應用中註銷其賬戶時,你需要將該
用戶從活躍用戶列表中刪除。你可以根據位置或值來刪除列表中的元素。

  1. 使用del語句刪除元素
# 知道要刪除的元素所在列表中的位置,可使用del語句
motorcycles = [‘ducati‘, ‘honda‘, ‘yamaha‘, ‘suzuki‘]
del motorcycles[0]
print(motorcycles)
-----------------------------
[‘honda‘, ‘yamaha‘, ‘suzuki‘]
  1. 使用方法pop()刪除元素

有時候,你要將元素從列表中刪除,並接著使用它的值。例如,你可能需要獲取剛被射殺的
外星人的x和y坐標,以便在相應的位置顯示爆炸效果;在Web應用程序中,你可能要將用戶從活
躍成員列表中刪除,並將其加入到非活躍成員列表中。

方法pop()可刪除列表末尾的元素,並讓你能夠接著使用它。術語彈出(pop)源自這樣的類
比:列表就像一個棧,而刪除列表末尾的元素相當於彈出棧頂元素。

motorcycles = [‘honda‘,‘yamaha‘,‘suzuki‘]
print(motorcycles)

popped_motorcycle = motorcycles.pop()
print(motorcycles)
print(popped_motorcycle)
------------------------------------------
[‘honda‘, ‘yamaha‘, ‘suzuki‘]
[‘honda‘, ‘yamaha‘]
suzuki

方法pop()是怎麽起作用的呢?假設列表中的摩托車是按購買時間存儲的,就可使用方法
pop()打印一條消息,指出最後購買的是哪款摩托車:

motorcycles = [‘honda‘, ‘yamaha‘, ‘suzuki‘]

last_owned = motorcycles.pop()
print("The last motorcycle I owned was a " + last_owned.title() + ".")
-----------------------------------------------------------------------
The last motorcycle I owned was a Suzuki.
  1. 彈出列表中任何位置處的元素

可以使用pop()來刪除列表中任何位置的元素,只需在括號中指定要刪除的元素
的索引即可。

first_owned = motorcycles.pop(0)
print("The last motorcycle I owned was a " + first_owned.title() + ".")
-------------------------------------------------------------------------
The last motorcycle I owned was a Honda.

如果你不確定該使用del語句還是pop()方法,下面是一個簡單的判斷標準:如果你要從列表
中刪除一個元素,且不再以任何方式使用它,就使用del語句;如果你要在刪除元素後還能繼續
使用它,就使用方法pop()。

  1. 根據值刪除元素

有時候,你不知道要從列表中刪除的值所處的位置。如果你只知道要刪除的元素的值,可使
用方法remove()。

# 假設我們要從列表motorcycles中刪除值‘ducati‘
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
motorcycles = [‘honda‘, ‘yamaha‘, ‘suzuki‘,‘ducati‘]
motorcycles.remove(‘ducati‘)
print(motorcycles)
-----------------------------------------------------
[‘honda‘, ‘yamaha‘, ‘suzuki‘]

使用remove()從列表中刪除元素時,也可接著使用它的值。下面刪除值‘ducati‘,並打印一
條消息,指出要將其從列表中刪除的原因:

motorcycles = [‘honda‘, ‘yamaha‘, ‘suzuki‘,‘ducati‘]
too_expensive = ‘ducati‘
motorcycles.remove(too_expensive)
print(motorcycles)
print("\nA " + too_expensive.title() + " is too expensive for me.")
-------------------------------------------------------------------
[‘honda‘, ‘yamaha‘, ‘suzuki‘]

A Ducati is too expensive for me.

註意 方法remove()只刪除第一個指定的值。如果要刪除的值可能在列表中出現多次,就需要
使用循環來判斷是否刪除了所有這樣的值。你將在第7章學習如何這樣做。

動手試一試

下面的練習比第2 章的練習要復雜些,但讓你有機會以前面介紹過的各種方式使用
列表。

3-4 嘉賓名單:如果你可以邀請任何人一起共進晚餐(無論是在世的還是故去的),
你會邀請哪些人?請創建一個列表,其中包含至少3 個你想邀請的人;然後,使用這個
列表打印消息,邀請這些人來與你共進晚餐。

dinner = []

dinner.append(‘zhangsan‘)
dinner.append(‘lisi‘)
dinner.append(‘wangwu‘)
print(dinner)
---------------------------------------
[‘zhangsan‘, ‘lisi‘, ‘wangwu‘]

3-5 修改嘉賓名單:你剛得知有位嘉賓無法赴約,因此需要另外邀請一位嘉賓。

dinner = []

dinner.append(‘zhangsan‘)
dinner.append(‘lisi‘)
dinner.append(‘wangwu‘)
print(dinner)

dinner[1] = ‘zhaoliu‘
print(dinner)
--------------------------------
[‘zhangsan‘, ‘lisi‘, ‘wangwu‘]
[‘zhangsan‘, ‘zhaoliu‘, ‘wangwu‘]
  • 以完成練習3-4 時編寫的程序為基礎,在程序末尾添加一條print 語句,指出哪
    位嘉賓無法赴約。
dinner = []

dinner.append(‘zhangsan‘)
dinner.append(‘lisi‘)
dinner.append(‘wangwu‘)
print(dinner)
no_dinner = dinner.pop(1)
print(no_dinner + " 無法赴約")
---------------------------------
[‘zhangsan‘, ‘lisi‘, ‘wangwu‘]
lisi 無法赴約
  • 修改嘉賓名單,將無法赴約的嘉賓的姓名替換為新邀請的嘉賓的姓名。
dinner = []

dinner.append(‘zhangsan‘)
dinner.append(‘lisi‘)
dinner.append(‘wangwu‘)
print(dinner)
no_dinner = dinner.pop(1)

dinner.insert(1,‘zhaoliu‘)
print(dinner)
--------------------------------
[‘zhangsan‘, ‘lisi‘, ‘wangwu‘]
[‘zhangsan‘, ‘zhaoliu‘, ‘wangwu‘]
  • 再次打印一系列消息,向名單中的每位嘉賓發出邀請。
....上述代碼省略
print(dinner[0])
print(dinner[1])
print(dinner[2])
--------------------
zhangsan
zhaoliu
wangwu

3-6 添加嘉賓:你剛找到了一個更大的餐桌,可容納更多的嘉賓。請想想你還想邀
請哪三位嘉賓。

  • 以完成練習3-4 或練習3-5 時編寫的程序為基礎,在程序末尾添加一條print 語
    句,指出你找到了一個更大的餐桌。
print("找到了一個更大的餐桌")
------------------------------
找到了一個更大的餐桌
  • 使用insert()將一位新嘉賓添加到名單開頭。
dinner.insert(0,‘xiaoming‘)
print(dinner)
---------------------------------------------
[‘xiaoming‘, ‘zhangsan‘, ‘zhaoliu‘, ‘wangwu‘]
  • 使用insert()將另一位新嘉賓添加到名單中間。
dinner.insert(2,‘xiaofang‘)
print(dinner)
---------------------------------------------------------
[‘xiaoming‘, ‘zhangsan‘, ‘xiaofang‘, ‘zhaoliu‘, ‘wangwu‘]
  • 使用append()將最後一位新嘉賓添加到名單末尾。
dinner.append(‘xiaowu‘)
print(dinner)
-------------------------------------------------------------------
[‘xiaoming‘, ‘zhangsan‘, ‘xiaofang‘, ‘zhaoliu‘, ‘wangwu‘, ‘xiaowu‘]
  • 打印一系列消息,向名單中的每位嘉賓發出邀請。
print("邀請: " + dinner[0])
print("邀請: " + dinner[1])
print("邀請: " + dinner[2])
print("邀請: " + dinner[3])
print("邀請: " + dinner[4])
print("邀請: " + dinner[5])
-----------------------------
邀請: xiaoming
邀請: zhangsan
邀請: xiaofang
邀請: zhaoliu
邀請: wangwu
邀請: xiaowu

3-7 縮減名單:你剛得知新購買的餐桌無法及時送達,因此只能邀請兩位嘉賓。

  • 以完成練習3-6 時編寫的程序為基礎,在程序末尾添加一行代碼,打印一條你只
    能邀請兩位嘉賓共進晚餐的消息。
print("只能邀請兩位嘉賓共進晚餐!")
  • 使用pop()不斷地刪除名單中的嘉賓,直到只有兩位嘉賓為止。每次從名單中彈
    出一位嘉賓時,都打印一條消息,讓該嘉賓知悉你很抱歉,無法邀請他來共進
    晚餐。
no_dinner = dinner.pop()
print("I‘m sorry " + no_dinner)
no_dinner = dinner.pop()
print("I‘m sorry " + no_dinner)
no_dinner = dinner.pop()
print("I‘m sorry " + no_dinner)
no_dinner = dinner.pop()
print("I‘m sorry " + no_dinner)
-------------------------------
I‘m sorry xiaowu
I‘m sorry wangwu
I‘m sorry zhaoliu
I‘m sorry xiaofang
  • 對於余下的兩位嘉賓中的每一位,都打印一條消息,指出他依然在受邀人之列。
print(dinner)
------------------------
[‘xiaoming‘, ‘zhangsan‘]
  • 使用del 將最後兩位嘉賓從名單中刪除,讓名單變成空的。打印該名單,核實程
    序結束時名單確實是空的。
del dinner[0]
del dinner[0]
print(dinner)
-------------
[]

3.3 組織列表

在你創建的列表中,元素的排列順序常常是無法預測的,因為你並非總能控制用戶提供數據
的順序。這雖然在大多數情況下都是不可避免的,但你經常需要以特定的順序呈現信息。有時候,
你希望保留列表元素最初的排列順序,而有時候又需要調整排列順序。Python提供了很多組織列
表的方式,可根據具體情況選用。

3.3.1 使用方法sort()對列表進行永久性排序

Python方法sort()讓你能夠較為輕松地對列表進行排序。假設你有一個汽車列表,並要讓其
中的汽車按字母順序排列。為簡化這項任務,我們假設該列表中的所有值都是小寫的。

cars.py
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
cars =  [‘bmw‘,‘audi‘,‘toyota‘,‘subaru‘]
cars.sort()
print(cars)
-----------------------------------
[‘audi‘, ‘bmw‘, ‘subaru‘, ‘toyota‘]

# 方法sort() 永久性地修改了列表元素的排列順序。
# 現在,汽車是按字母順序排列額,再也無法恢復到原來的排列順序

你還可以按與字母順序相反的順序排列列表元素,為此,只需向sort()方法傳遞參數
reverse=True。下面的示例將汽車列表按與字母順序相反的順序排列:

cars =  [‘bmw‘,‘audi‘,‘toyota‘,‘subaru‘]
cars.sort(reverse=True)
print(cars)
-----------------------------------
[‘toyota‘, ‘subaru‘, ‘bmw‘, ‘audi‘]

3.3.2 使用函數sorted()對列表進行臨時排序

要保留列表元素原來的排列順序,同時以特定的順序呈現它們,可使用函數sorted()。函數
sorted()讓你能夠按特定順序顯示列表元素,同時不影響它們在列表中的原始排列順序。

下面嘗試對汽車列表調用這個函數。

cars =  [‘bmw‘,‘audi‘,‘toyota‘,‘subaru‘]
print("Here is the original list:")
print(cars)

print("\nHere is the sorted list:")
print(sorted(cars))

print("\nHere is the original list again:")
print(cars)
--------------------------------------------
Here is the original list:
[‘bmw‘, ‘audi‘, ‘toyota‘, ‘subaru‘]

Here is the sorted list:
[‘audi‘, ‘bmw‘, ‘subaru‘, ‘toyota‘]

Here is the original list again:
[‘bmw‘, ‘audi‘, ‘toyota‘, ‘subaru‘]

註意,調用函數sorted()後,列表元素的排列順序並沒有變。如果你要按與字母順
序相反的順序顯示列表,也可向函數sorted()傳遞參數reverse=True。

註意 在並非所有的值都是小寫時,按字母順序排列列表要復雜些。決定排列順序時,有多種
解讀大寫字母的方式,要指定準確的排列順序,可能比我們這裏所做的要復雜。然而,
大多數排序方式都基於本節介紹的知識。

3.3.3 倒著打印列表

要反轉列表元素的排列順序,可使用方法reverse()。假設汽車列表是按購買時間排列的,
可輕松地按相反的順序排列其中的汽車:

cars =  [‘bmw‘,‘audi‘,‘toyota‘,‘subaru‘]
print(cars)

cars.reverse()
print(cars)
-----------------------------------------
[‘bmw‘, ‘audi‘, ‘toyota‘, ‘subaru‘]
[‘subaru‘, ‘toyota‘, ‘audi‘, ‘bmw‘]

註意,reverse()不是指按與字母順序相反的順序排列列表元素,而只是反轉列表元素的排
列順序。

方法reverse()永久性地修改列表元素的排列順序,但可隨時恢復到原來的排列順序,為此
只需對列表再次調用reverse()即可。

3.3.4 確定列表的長度

使用函數len()可快速獲悉列表的長度。在下面的示例中,列表包含4個元素,因此其長度為4:

>>> cars = [‘bmw‘,‘audi‘,‘toyota‘,‘subaru‘]
>>> len(cars)
4

在你需要完成如下任務時,len()很有用:確定還有多少個外星人未被射殺,需要管理多少
項可視化數據,網站有多少註冊用戶等。

註意 Python計算列表元素數時從1開始,因此確定列表長度時,你應該不會遇到差一錯誤。

動手試一試

3-8 放眼世界:想出至少5 個你渴望去旅遊的地方。

  • [ ] 將這些地方存儲在一個列表中,並確保其中的元素不是按字母順序排列的。
toponymy = [‘thailand‘,‘Singapore‘,‘japanese‘,‘egypt‘,‘america‘]
  • 按原始排列順序打印該列表。不要考慮輸出是否整潔的問題,只管打印原始Python 列表。
print(toponymy)
----------------------------------------------------------
[‘thailand‘, ‘Singapore‘, ‘japanese‘, ‘egypt‘, ‘america‘]
  • [ ] 使用sorted()按字母順序打印這個列表,同時不要修改它。
print(sorted(toponymy))
---------------------------------------------------------
[‘america‘, ‘egypt‘, ‘japanese‘, ‘singapore‘, ‘thailand‘]
  • [ ] 再次打印該列表,核實排列順序未變。
print(toponymy)
---------------------------------------------------------
[‘thailand‘, ‘singapore‘, ‘japanese‘, ‘egypt‘, ‘america‘]
  • [ ] 使用sorted()按與字母順序相反的順序打印這個列表,同時不要修改它。
toponymy = [‘thailand‘,‘japanese‘,‘singapore‘,‘egypt‘,‘america‘]
print(sorted(toponymy,reverse=True))
----------------------------------------------------------------
[‘thailand‘, ‘singapore‘, ‘japanese‘, ‘egypt‘, ‘america‘]
  • 再次打印該列表,核實排列順序未變。
print(toponymy)
---------------------------------------------------------
[‘thailand‘, ‘japanese‘, ‘singapore‘, ‘egypt‘, ‘america‘]
  • 使用reverse()修改列表元素的排列順序。打印該列表,核實排列順序確實變了。
toponymy = [‘thailand‘,‘japanese‘,‘singapore‘,‘egypt‘,‘america‘]

print("Original list: ")
print(toponymy)
toponymy.reverse()
print("\nModify the list: ") 
print(toponymy)
---------------------------------------------------------
Original list:
[‘thailand‘, ‘japanese‘, ‘singapore‘, ‘egypt‘, ‘america‘]

Modify the list:
[‘america‘, ‘egypt‘, ‘singapore‘, ‘japanese‘, ‘thailand‘]
  • 使用reverse()再次修改列表元素的排列順序。打印該列表,核實已恢復到原來的排列順序。
toponymy.reverse()
print("\nModify the following list again: ")
print(toponymy)
-----------------------------------------------------------
Modify the following list again:
[‘thailand‘, ‘japanese‘, ‘singapore‘, ‘egypt‘, ‘america‘]
  • 使用sort()修改該列表,使其元素按字母順序排列。打印該列表,核實排列順序確實變了。

toponymy = [‘thailand‘,‘japanese‘,‘singapore‘,‘egypt‘,‘america‘]
toponymy.sort()
print(toponymy)
---------------------------------------------------------
[‘america‘, ‘egypt‘, ‘japanese‘, ‘singapore‘, ‘thailand‘]
  • 使用sort()修改該列表,使其元素按與字母順序相反的順序排列。打印該列表,核實排列順序確實變了。
toponymy = [‘thailand‘,‘japanese‘,‘singapore‘,‘egypt‘,‘america‘]
toponymy.sort()
print(toponymy)

toponymy.sort(reverse=True)
print(toponymy)
----------------------------------------------------------
[‘america‘, ‘egypt‘, ‘japanese‘, ‘singapore‘, ‘thailand‘]
[‘thailand‘, ‘singapore‘, ‘japanese‘, ‘egypt‘, ‘america‘]

3-9 晚餐嘉賓:在完成練習3-4~練習3-7時編寫的程序之一中,使用len()打印一條消息,指出你邀請了多少位嘉賓來與你共進晚餐。

>>> cars = [‘bmw‘,‘audi‘,‘toyota‘,‘subaru‘]
>>> len(cars)
4

3-10 嘗試使用各個函數:想想可存儲到列表中的東西,如山嶽、河流、國家、城市、語言或你喜歡的任何東西。編寫一個程序,在其中創建一個包含這些元素的列表,然後,對於本章介紹的每個函數,都至少使用一次來處理這個列表。

name = [‘mount everest‘,‘yellow river‘,‘beijing‘,‘china‘]
print(name)

print("\n臨時排序: ")
print(sorted(name))

print("\n臨時相反排序: ")
print(sorted(name,reverse=True))

print("\n按字母順序相反排序: ")
name.sort(reverse=True)
print(name)

print("\n按字母排序: ")
name.sort()
print(name)

print("\n倒著打印: ")
name.reverse()
print(name)

print("\n元素個數: ")
print(len(name))

print("\n元素個數: %d" % len(name))
----------------------------------------------------------
[‘mount everest‘, ‘yellow river‘, ‘beijing‘, ‘china‘]

臨時排序:
[‘beijing‘, ‘china‘, ‘mount everest‘, ‘yellow river‘]

臨時相反排序:
[‘yellow river‘, ‘mount everest‘, ‘china‘, ‘beijing‘]

按字母順序相反排序:
[‘yellow river‘, ‘mount everest‘, ‘china‘, ‘beijing‘]

按字母排序:
[‘beijing‘, ‘china‘, ‘mount everest‘, ‘yellow river‘]

倒著打印:
[‘yellow river‘, ‘mount everest‘, ‘china‘, ‘beijing‘]

元素個數:
4

元素個數: 4

Python基礎 列表介紹、使用