一、基礎操作
list是Python中的一種基本數據類型, 可以理解為是一種有序的集合。在Python中,我們可以通過下標取得list中的某個元素。
lst = [1,2,3,4,5]
val = lst[0] # 取得第一個元素
print(val) # 輸出 1
對於Python中的list,我們可以通過切片操作獲取部分元素。切片的語法為”[start:end]”。
lst = [1,2,3,4,5]
sub_lst = lst[1:3] # 取得第二個和第三個元素
print(sub_lst) # 輸出 [2,3]
除了這些基本操作以外, 我們還可以在list中取得元素的下標,或者向list中添加元素。
lst = [1,2,3,4,5]
idx = lst.index(3) # 取得值為3的元素的下標
lst.append(6) # 在list末尾添加一個元素
print(idx, lst) # 輸出 2,[1,2,3,4,5,6]
二、列表推導式
列表推導式是Python中一種非常便捷的方法,可以通過簡單的表達式創建新的list
lst = [i*2 for i in range(5)]
print(lst) # 輸出 [0,2,4,6,8]
這裡的表達式是「i*2」, range(5)生成了[0,1,2,3,4], 然後通過for循環遍歷這個列表,並且對於每一個元素應用表達式,最後將結果放入一個新的list中。
三、對列表進行遍歷
在Python中要對一個list進行遍歷, 可以使用for循環。Python的for循環支持對任意可迭代對象進行遍歷,而list是其中一個常見的可迭代對象。
lst = [1,2,3,4,5]
for i in lst:
print(i)
除了上面這種普通的遍歷方法, 我們還可以使用enumerate函數來獲取每一個元素的下標。enumerate函數會返回一個元組, 元組中的第一個值是元素的下標,第二個值是元素的值。
lst = [1,2,3,4,5]
for idx, val in enumerate(lst):
print(idx, val)
四、高級用法
除了上面介紹的傳統用法以外,Python中還有一些高級的方法可以幫助我們更加方便地使用list。
使用函數對列表進行操作
Python內置了很多對於列表的操作函數。比如,下面這個例子中的map函數可以對一個list中的每一個元素應用一個表達式。
lst = [1,2,3,4,5]
new_lst = list(map(lambda x: x*2, lst))
print(new_lst) # 輸出 [2,4,6,8,10]
使用生成器
使用生成器可以幫助我們更加節省內存。Python中的生成器有多種形式,在這裡我們講一下較為常見的yield方式。
def my_range(n):
i = 0
while i< n:
yield i
i += 1
g = my_range(5)
print(list(g)) # 輸出 [0,1,2,3,4]
使用列表解析式進行高效的過濾
列表解析式的另一個巨大優勢是它可以非常高效地過濾列表中的元素。這裡我舉一個例子來說明。
lst = [1,2,3,4,5,6,7]
lst = [i for i in lst if i%2 == 0]
print(lst) # 輸出 [2,4,6]
上面這個例子中,我們用一個列表解析式將原列表中的奇數過濾掉,最後得到一個新的列表。
原創文章,作者:KOYL,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/145563.html