遍歷Python中的列表

2022-03-03 02:50:33 字數 2729 閱讀 3424

list

等效於其他語言中的陣列,其額外的好處是可以動態調整大小。

在python中,列表是資料結構中的一種容器,用於同時儲存多個資料。

與sets不同,python中的列表是有序的,並且具有確定的計數。

有多種方法可以迭代python中的列表。

讓我們看看在python中迭代列表的所有不同方法,以及它們之間的效能比較。

方法1:使用for迴圈

# python3 code to iterate over a list 

list = [1, 3, 5, 7, 9

] # using

forloop

for i in

list:

print(i)

輸出:

1個35

79

方法2:for迴圈和range()

如果我們要使用從數字x到數字y迭代的傳統for迴圈。

# python3 code to iterate over a list 

list = [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

79

如果我們可以對元素進行迭代,則不建議對索引進行迭代(如方法1中所述)。

方法3:使用while迴圈

# python3 code to iterate over a list 

list = [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個35

79

方法4:使用列表理解(可能是最具體的方法)。

# python3 code to iterate over a list 

list = [1, 3, 5, 7, 9

] # using list comprehension

[print(i)

for i in list]

輸出:

1個35

79

方法5:使用enumerate()

# python3 code to iterate over a list 

list = [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...