簡體   English   中英

對於循環遍歷列表

[英]For loop iterating through the list

我正在從Codeacademy網站上學習python,並且遇到了“循環”部分,這對我來說有點模糊和困難。 當網站想要解釋for循環的工作原理時,它會從列表中獲得幫助。 像這樣:

for i in list34:
    #Some codes

該網站說,當您為列表運行for loop語句時,for循環將遍歷列表中的元素,然后將其保存在i變量中。

我只是不了解概念而已

這是什么意思?

for i in list34:
    #Some codes

該代碼段將遍歷 list34所有項目(即遍歷它們)。 在每次迭代(循環的“步驟”)中,將從列表中為i分配下一個值,因此您的代碼可以對其執行某些操作(例如,將其打印出來)。

也許一些代碼示例會有所幫助!

>>> li = [4,3,1,2,0]
>>> for x in li:
...     print(x)
... 
4
3
1
2
0
>>> 

for循環所要做的是,它一次將列表中的一項帶走,然后將該項分配給變量x 因為for循環一個接一個地列出列表項,所以稱為循環遍歷列表。

遍歷一個列表或與此相關的任何數據結構,意味着它只是從給定的結構中接一個接一個地處理每個元素,並對此進行了處理。

在這種情況下,您擁有i元素,並且可以在for循環中對其進行處理。 for語句確保處理列表中的每個元素。

Python中的for語句與您在C或Pascal中使用的語句有些不同。 Python的for語句不是遍歷數字的算術級數進行迭代(例如在Pascal中),也不是讓用戶能夠定義迭代步驟和暫停條件(如C),而是遍歷任何序列項(列表或字符串),按它們在序列中出現的順序排列。 例如(無雙關語):

# Measure some strings:
words = ['cat', 'window', 'defenestrate']
for w in words:
    print w, len(w)

如果需要修改循環中要迭代的序列(例如,復制選定的項目),建議您首先進行復制。 遍歷序列不會隱式地創建副本。 切片符號使這特別方便:

for w in words[:]:  # Loop over a slice copy of the entire list.
    if len(w) > 6:
        words.insert(0, w)

words

如果確實需要遍歷一個數字序列,則內置函數range()會派上用場。 它生成包含算術級數的列表:

range(10)

給定的終點永遠不會成為生成列表的一部分; range(10)生成一個包含10個值的列表,這些索引是長度為10的序列的項目的合法索引。可以使范圍從另一個數字開始,也可以指定一個不同的增量(甚至是負數;甚至是負數;有時也稱為'步'):

range(5, 10)    
range(0, 10, 3)
range(-10, -100, -30)

要遍歷序列的索引,可以如下組合range()和len():

a = ['Mary', 'had', 'a', 'little', 'lamb']
for i in range(len(a)):
    print i, a[i]

閱讀更多: docs.python.org

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM