pythonfor第幾個
1. python關於for循環的幾個函數
range
2. Python中for語句是怎麼用的
Python for循環可以遍歷任何序列的項目,如一個列表或者一個字元串。
語法:
for循環的語法格式如下:
for iterating_var in sequence:
statements(s)
流程圖:
實例:
實例
#!/usr/bin/python# -*- coding: UTF-8 -*-
for letter in 'Python': # 第一個實例
print '當前字母 :', letter
fruits = ['banana', 'apple', 'mango']for fruit in fruits: # 第二個實例
print '當前水果 :', fruit
print "Good bye!"
3. python三個for循環怎麼使用
一般來說,for 循環是利用的遍歷來實現的
基礎語法是
for i in sequence:
statements(s)
另外一種執行循環的遍歷方式是通過索引
例如:
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print '當前水果 :', fruits[index]
第三種方式就是可以和else連用,for … else 表示這樣的意思,for 中的語句和普通的沒有區別,else 中的語句會在循環正常執行完(即 for 不是通過 break 跳出而中斷的)的情況下執行
例如:
for num in range(10,20): # 迭代 10 到 20 之間的數字
for i in range(2,num): # 根據因子迭代
if num%i == 0: # 確定第一個因子
j=num/i # 計算第二個因子
print '%d 等於 %d * %d' % (num,i,j)
break # 跳出當前循環
else: # 循環的 else 部分
print num, '是一個質數'
4. python中for循環放在後面要怎麼理解
i因為閉包,lambda生成之後i引用的就是for循環中的i
建議你看一下python的列表生成器,
f = [(lambda n : i + n) for i in range(10)] 等同於
f=[]
for i in range(10)
f.append(lambda n : i + n)
下面是相關內容
列表生成式即List Comprehensions,是Python內置的非常簡單卻強大的可以用來創建list的生成式。
舉個例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用range(1, 11):
>>> range(1, 11)[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
但如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎麼做?方法一是循環:
>>> L = []>>> for x in range(1, 11):... L.append(x * x)
...>>> L
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
但是循環太繁瑣,而列表生成式則可以用一行語句代替循環生成上面的list:
>>> [x * x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
寫列表生成式時,把要生成的元素x * x放到前面,後面跟for循環,就可以把list創建出來,十分有用,多寫幾次,很快就可以熟悉這種語法。
for循環後面還可以加上if判斷,這樣我們就可以篩選出僅偶數的平方:
>>> [x * x for x in range(1, 11) if x % 2 == 0]
[4, 16, 36, 64, 100]
還可以使用兩層循環,可以生成全排列:
>>> [m + n for m in 'ABC' for n in 'XYZ']
['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']
三層和三層以上的循環就很少用到了。
運用列表生成式,可以寫出非常簡潔的代碼。例如,列出當前目錄下的所有文件和目錄名,可以通過一行代碼實現:
>>> import os # 導入os模塊,模塊的概念後面講到>>> [d for d in os.listdir('.')] # os.listdir可以列出文件和目錄['.emacs.d', '.ssh', '.Trash', 'Adlm', 'Applications', 'Desktop', 'Documents', 'Downloads', 'Library', 'Movies', 'Music', 'Pictures', 'Public', 'VirtualBox VMs', 'Workspace', 'XCode']
for循環其實可以同時使用兩個甚至多個變數,比如dict的iteritems()可以同時迭代key和value:
>>> d = {'x': 'A', 'y': 'B', 'z': 'C' }>>> for k, v in d.iteritems():... print k, '=', v... y = B
x = A
z = C
因此,列表生成式也可以使用兩個變數來生成list:
>>> d = {'x': 'A', 'y': 'B', 'z': 'C' }>>> [k + '=' + v for k, v in d.iteritems()]
['y=B', 'x=A', 'z=C']
最後把一個list中所有的字元串變成小寫:
>>> L = ['Hello', 'World', 'IBM', 'Apple']>>> [s.lower() for s in L]
['hello', 'world', 'ibm', 'apple']
小結
運用列表生成式,可以快速生成list,可以通過一個list推導出另一個list,而代碼卻十分簡潔。
思考:如果list中既包含字元串,又包含整數,由於非字元串類型沒有lower()方法,所以列表生成式會報錯:
>>> L = ['Hello', 'World', 18, 'Apple', None]
>>> [s.lower() for s in L]
Traceback (most recent call last):
File "<stdin>", line 1, in <mole>AttributeError: 'int' object has no attribute 'lower'
使用內建的isinstance函數可以判斷一個變數是不是字元串:
>>> x = 'abc'>>> y = 123>>> isinstance(x, str)True>>> isinstance(y, str)False
請修改列表生成式,通過添加if語句保證列表生成式能正確地執行。
5. 為什麼python for函數的第一個變數不用事先定義變數就可以用
聽起來你之前應該有學習一些靜態編程語言,比如C, 所有會有些先入為主的理解。
為什麼「i」好像可以不用定義就能使用?這是語法規定 沒什麼好說。
「i」的值從0開始?因為rang(5)會生成了一個類似[0,1,2,3,4]的序列,而for語句會迭代這個序列並把它的值依次賦給變數「i」,第一次賦值的時候就是0。
至於「i」為什麼是inti型,Python是動態類型語言並且它足夠聰明 會自動推斷合適的數據類型給變數,不用我們指定數據類型。
關於for語句和range()函數的解釋
Python 的for語句與 C 或 Pascal 中的不同。Python 的for語句不迭代算術遞增數值(如 Pascal),或是給予用戶定義迭代步驟和暫停條件的能力(如 C),而是迭代列表或字元串等任意序列,元素的迭代順序與在序列中出現的順序一致。
內置函數range() 可以生成算術級數,生成的序列不包含給定的終止數值:
range(start,stop[,step])
start: 計數從 start 開始。默認是從 0 開始。例如range(5)等價於range(0, 5);
stop: 計數到 stop 結束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有5
step:步長,默認為1。例如:range(0, 5) 等價於 range(0, 5, 1)
6. 關於python for循壞的問題
這樣更簡單明了吧,自己一行一行代碼走一遍,每走一步算一下數值就清楚了,或者使用斷點調試(不懂怎麼斷點調試可以網路一下)
7. Python中與for循環相關的幾個函數
for(a;b;c) a為初始化條件,b為判斷條件,成立就進行for裡面的,不成立直接退出。 c為條件變化。abc三個語句之間為分號,可以為空語句,即不加任何信息。 b為判斷是否進行的依據,一般不要省,要不然會永遠循環下去。 舉個例子: for(;;)永遠運行 for(;a<100;){a++;}a長到100的時候就會退出for循環了,只有中間加了,前面後面得語句隨意,但目的是要for有開始也有結束,如下面兩種情況 for(int i = 0; i<100; i++)循環100次 int i=0; for(;i<100;){i++;}也是循環100次
8. python for 語句的使用方法
Python 中的 for 語句和 C 或 Pascal 中的略有不同。通常的循環可能會依據一個等差數值步進過程(如 Pascal),或由用戶來定義迭代步驟和中止條件(如 C ),Python 的 for 語句依據任意序列(鏈表或字元串)中的子項,按它們在序列中的順序來進行迭代。例如(沒有暗指):
>>> # Measure some strings:
... words = ['cat', 'window', 'defenestrate']
>>> for w in words:
... print(w, len(w))
...
cat 3
window 6
defenestrate 12
在迭代過程中修改迭代序列不安全(只有在使用鏈表這樣的可變序列時才會有這樣的情況)。如果你想要修改你迭代的序列(例如,復制選擇項),你可以迭代它的復本。使用切割標識就可以很方便的做到這一點:
9. python 中如何判斷是否為for循環最後一個元素
一、遍歷列表
遍歷,簡單理解就是對每個數據都過一遍。
1、簡單遍歷
在程序中,有時需要遍歷列表中的所有元素,對每個元素都執行相同的操作。
例如,想要逐個顯示列表中的人名元素,這時可以通過使用for循環實現列表的遍歷。
「循環」這個概念很重要,它是自動完成重復工作的常見方式之一。
在上面的例子中,python首先讀取其中的第一行代碼:
for name in names:
這行代碼讓python獲取列表names中的第一個元素值'Tom',並將其存儲到變數name中,然後python讀取下一行代碼:
print(name)
它讓python顯示name變數的值,即'Tom',接下來python返回到循環的第一行:
for name in names:
獲取列表names中的下一個元素值'Alice',並將其存儲到變數name中,再執行下面這行代碼:
print(name)
python再次顯示name變數值,當前為'Alice'。接下來,python再次執行整個循環。當列表中最後一個值'Mary'執行顯示處理以後,列表中沒有其他的值了,那麼,循環結束。
使用循環時注意:
1)對列表中的每個元素,都將執行循環指定的步驟,而不管列表包含多少個元素。
2)python根據縮進來判斷代碼是否是for循環體。
即位於for語句後面且屬於循環組成部分的代碼行,一定要縮進,縮進通常使用4個空格。
3)for語句末尾的冒號很重要,它的作用是告訴python,下一行是循環的第一行。
如果你不小心遺漏了冒號,將導致語法錯誤。
2、for循環體
在for循環中,想包含多少行代碼都可以,但循環體內的代碼行都需要縮進,每個縮進的代碼行都循環的一部分。且將針對列表中的每個元素值都執行一次。即可以對列表中的每個元素值執行任意次數的操作。
3、結束for循環
要結束for循環,只需將for循環體後面的代碼行設置為不縮進即可。
這時,沒有縮進的代碼行只執行一次,不會再重復執行。
10. pythonfor循環語句是什麼
pythonfor循環語句是for 循環和 while 循環。
Python 有兩種類型的循環:for 循環和 while 循環。for 循環用來遍歷可迭代對象。可迭代對象是每次可以返回其中一個元素的對象, 包括字元串、列表和元組等序列類型,以及字典和文件等非序列類型。還可以使用迭代器和生成器定義可迭代對象。
格式中,迭代變數用於存放從序列類型變數中讀取出來的元素,所以一般不會在循環中對迭代變數手動賦值;代碼塊指的是具有相同縮進格式的多行代碼(和 while 一樣),由於和循環結構聯用,因此代碼塊又稱為循環體。
For 循環的組成部分:
循環的第一行以關鍵字 for 開始,表示這是一個 for 循環。
然後是 iteration_variable in iterable,表示正在被遍歷的是可迭代的對象,並且用迭代變數表示當前正在被處理的可迭代對象的元素。在此示例中,迭代變數 city 在第一次迭代時將是 「new york city」,在第二次迭代時將是 mountain view。