何謂列表(list)?
-列表由一系列按特定順序排列的元素所組成。
-可將任何東西加入列表,其中的元素可以沒有任何關聯。
-用方括號[]
表示列表,並用逗號,
分隔其中的元素。
-列表的命名通常為複數(畢竟常包含多種元素)。
ex: cars = ["bentley", "bmw", "toyta", "tesla", "toyota", "tesla", "kia", "m-benz", "honda"]
索引
-列表為有序集合,若要訪問列表的任何元素,需要將該元素的位置(索引)告知python。
-索引從0開始,不是從1開始。
-訪問列表元素cars[2]
:
#範例1: 從上述cars列表中訪問索引2的元素並打印
cars = ["bentley", "bmw", "toyta", "tesla", "toyota", "tesla",
"kia", "m-benz", "honda"]
print(cars[2])
#回傳結果如下
toyta
-訪問列表倒數元素cars[-1]
:
若列表元素眾多,想直接訪問倒數的元素,可用-1訪問#最後一個元素,-2訪問倒數第二元素,以此類推。
#範例2: 從上述cars列表中訪問索引-1的元素並打印
cars = ["bentley", "bmw", "toyta", "tesla", "toyota", "tesla",
"kia", "m-benz", "honda"]
print(cars[-1])
#回傳結果如下
honda
修改(替換)、添加、刪除列表中的元素
-修改(替換)元素
#範例3: 從上述cars列表中替換索引0的元素並打印
cars = ["bentley", "bmw", "toyta", "tesla", "toyota", "tesla",
"kia", "m-benz", "honda"]
print(cars[0])
cars[0] = "jaguar" #用新的值"jaguar"替換掉原本的"bentley"
print(cars[0])
#回傳結果如下
bentley
jaguar
-添加元素
若要在列表尾端增加新元素,可使用.append()
方法。
若要在列表任意位置插入新元素,可使用.insert()
方法。.insert(位置, 新元素)
#範例4: .append()/.insert()方法插入元素
animals = ["dog", "cat", "tiger"]
animals.append("fish")
animals.insert(0, "snake")
print(animals)
#回傳結果如下,可以看到fish被新增到列表尾端,snake被指定插入到列表索引[0]
['snake', 'dog', 'cat', 'tiger', 'fish']
-刪除元素
知道元素的位置(索引),可用del
語句直接刪除該元素。(*刪除後無法再訪問。)
只知元素的值,可用.remove()
方法。
-若列表有重複值.remove()
只會刪除第一個指定的值。
若刪除元素後,還需要使用他的值,可用彈出.pop()
方法。
-.pop(
索引
)
,若未指定索引位置,python默認取出列表最後一個元素。
#範例5: del語句,.remove()/.insert()方法插入元素
animals = ['snake', 'dog', 'cat', 'tiger', 'fish']
del animals[4]
animals.remove("tiger")
zodiac_sign = animals.pop(0) #pop彈出的元素可指派給其他變數使用
print(f"Happy {zodiac_sign.title()} Year!")
print(animals)#移除後打印列表,僅剩"dog","cat"
#回傳結果如下
Happy Snake Year!
['dog', 'cat']
整理列表
-排序列表裡的元素
<按字母順序>
使用.sort()
方法按字母順序永久排序。
使用sorted()
函數按字母順序臨時排序。
*以上兩種方法皆可向其傳遞參數reverse=True
來按相反字母順序排列。
<直接反轉原列表順序>
使用.reverse()
方法顛倒列表順序。
#範例6: .sort()方法按字母順序永久排序
animals = ['snake', 'dog', 'cat', 'tiger', 'fish']
animals.sort()
print(animals)
#回傳結果如下
['cat', 'dog', 'fish', 'snake', 'tiger']
#範例7: sorted()函數按字母順序臨時排序
animals = ['snake', 'dog', 'cat', 'tiger', 'fish']
print(sorted(animals))#臨時排序
print(animals)
#回傳結果如下
['cat', 'dog', 'fish', 'snake', 'tiger']
['snake', 'dog', 'cat', 'tiger', 'fish']#再次打印animals原排序不變
#範例8: .reverse()方法顛倒列表順序
animals = ['snake', 'dog', 'cat', 'tiger', 'fish']
animals.reverse()
print(animals)
#回傳結果如下
['fish', 'tiger', 'cat', 'dog', 'snake']
獲取列表長度
用len()
函數獲取列表長度
#範例9: len()函數
animals = ['snake', 'dog', 'cat', 'tiger', 'fish']
print(len(animals))
#回傳結果如下
5