list
等效於其他語言中的陣列,其額外的好處是可以動態調整大小。
在python中,列表是資料結構中的一種容器,用於同時儲存多個資料。
與sets不同,python中的列表是有序的,並且具有確定的計數。
有多種方法可以迭代python中的列表。
讓我們看看在python中迭代列表的所有不同方法,以及它們之間的效能比較。
方法1:使用for迴圈
# python3 code to iterate over a listlist = [1, 3, 5, 7, 9
] # using
forloop
for i in
list:
print(i)
輸出:
1個3579
方法2:for迴圈和range()
如果我們要使用從數字x到數字y迭代的傳統for迴圈。
# python3 code to iterate over a listlist = [1, 3, 5, 7, 9
] # getting length of list
length =len(list)
# iterating the index
# same as'
for i in range(len(list))
'for i in
range(length):
print(list[i])
輸出:
1個35如果我們可以對元素進行迭代,則不建議對索引進行迭代(如方法1中所述)。79
方法3:使用while迴圈
# python3 code to iterate over a listlist = [1, 3, 5, 7, 9
] # getting length of list
length =len(list)
i = 0
# iterating
using
while
loop
while i print(list[i])
i += 1
輸出:
1個3579
方法4:使用列表理解(可能是最具體的方法)。
# python3 code to iterate over a listlist = [1, 3, 5, 7, 9
] # using list comprehension
[print(i)
for i in list]
輸出:
1個3579
方法5:使用enumerate()
# python3 code to iterate over a listlist = [1, 3, 5, 7, 9
] # using enumerate()
for i, val in
enumerate(list):
print (i, ",
",val)
輸出:
0,1注意:甚至1、32、5
3、74、9
方法2都可以用來查詢索引,但是
方法1不能(除非每次迭代都增加乙個額外的變數),
方法5給出了這種索引的簡明表示。
方法#6:使用numpy
對於非常大的n維列表(例如影象陣列),有時最好使用外部庫(例如numpy)。
# python program for# iterating over array
import numpy
asgeek
# creating an array
using
# arrange method
a = geek.arange(9
) # shape array with
3rows
# and
4columns
a = a.reshape(3, 3
) # iterating an array
for x in
geek.nditer(a):
print(x)
輸出:
01個2我們可以3456
78
np.ndenumerate()
用來模仿列舉的行為。
numpy的強大功能來自於我們甚至可以控制訪問元素的方式(fortran順序而不是c順序,例如:)),但乙個警告是
np.nditer
預設情況下將陣列視為唯讀,因此乙個人必須傳遞額外的標誌,例如op_flags=[『readwrite』]
它才能修改元素
Python 遍歷列表
假定有乙個列表的列表,內層列表的每個值都是包含乙個字元的字串,像這樣 grid o o o o o o o o o o o o o o o o o o o o o o o o o o o 你可以認為grid x y 是一幅 圖 在x y 座標處的字元,該圖由文字字元組 成。原點 0,0 在左上角,向...
Python 遍歷列表
遍歷列表,指的就是將列表中的所有元素取出來 建立列表 stus 孫悟空 豬八戒 沙和尚 唐僧 白骨精 蜘蛛精 遍歷列表 print stus 0 print stus 1 print stus 2 print stus 3 通過while迴圈來遍歷列表 i 0 while i len stus pr...
python 列表遍歷
python 列表遍歷 persons 張三 趙六 李四 王五 趙六 錢七 孫八 for 迭代變數 in 可迭代物件 for p in persons print p 遍歷出趙六的 正序索引 i 0 for p in persons if p 趙六 print p i i 1 獲取對應列表的長度 c...