1. python的for循環如何2個變數
python中的for循環和c中的for循環意義不同,python中for循環是迭代,如果要加入條件,要在for中嵌套if條件語句,
如果循環設兩個變數的話可以這樣:
for
i
in
range(1,10):
for
j
in
range(2,100):
print(i,j)
或者利用元組
for
(i,j)
in
[(1,2),(2,3),(4,5)]:
print(i,j)
2. python中的for循環相當於scratch中的什麼循環
for-in 循環專門用於遍歷范圍、列表、元素和字典等可迭代對象包含的元素。
for-in 循環的語法格式如下:
for 變數 in 字元串|范圍|集合等:
statements
對於上面的語法格式有以下兩點說明:
for-in 循環中的變數的值受 for-in 循環控制,該變數將會在每次循環開始時自動被賦值,因此程序不應該在循環中對該變數賦值。
for-in 循環可用於遍歷任何可選代對象。所謂可迭代對象,就是指該對象中包含一個 __iter__ 方法,且該方法的返回值對象具有 next() 方法。
for-in 循環可用於遍歷范圍。例如,如下程序使用 for-in 循環來計算指定整數的階乘:
s_max = input("請輸入您想計算的階乘:")
mx = int(s_max)
result = 1
# 使用for-in循環遍歷范圍
for num in range(1, mx + 1):
result *= num
print(result)
上面程序將會根據用戶輸入的數字進行循環。假如用戶輸入 7,此時程序將會構建一個 range(1,8) 對象(不包含 8),因此 for-in 循環將會自動循環 7 次,在每次循環開始時,num 都會被依次自動賦值為 range 所包含的每個元素。
for-in 循環中的變數完全接受 for-in 循環控制,因此該變數也被稱為循環計數器。
3. 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語句保證列表生成式能正確地執行。
4. 關於Python裡面的FOR循環問題
第一句應為
words =['this','is','an','ex']
for word in words:
依次遍歷列表words的成員,將其值賦給變數 word,word相當於循環變數
5. Python中的for循環
你好,答案如下所示。
如圖所示
return 語句用於函數內部,其目的是退出函數,選擇性地向調用方返回一個表達式。不帶參數值的return語句返回None。不能用於退出循環
希望你能夠詳細查看。
如果你有不會的,你可以提問
我有時間就會幫你解答。
希望你好好學習。
每一天都過得充實。
6. 誰能解釋一下python里的for循環
題主請檢查一下自己的縮進看看?python是縮進敏感的。
而且上述代碼中的if塊里也有一個print是怎麼回事。。。
另外上面分析中錯了一個地方:x%2 這個表達式並不會修改x的值。
還有,x += 2會修改x的值不錯,但只能影響到後面的print x語句。這是因為x是循環變數,在每次進入循環體時,x的取值依次是0 1 2 3. 這也提醒我們在python的for循環中修改循環變數是容易令人困惑的,盡量別這么做。
7. pythonfor循環語句是什麼
Python for 循環語句:遍歷任何序列的項目,可以是字元串、列表、元組、字典、集合對象。
功能
for 循環提供了python中最強大的循環結構(for循環是一種迭代循環機制,而while循環是條件循環,迭代即重復相同的邏輯操作,每次操作都是基於上一次的結果,而進行的)。
Python for循環可以遍歷任何序列的項目,如一個列表或者一個字元串。
語法
for循環的一般格式如下:
for iter_var in iterable:
suite_to_repeat
註解:每次循環, iter_var 迭代變數被設置為可迭代對象(序列, 迭代器, 或者是其他支持迭代的對 象)的當前元素, 提供給 suite_to_repeat 語句塊使用。
8. python中for循環怎麼寫
我們展開生成list3的表達式,變成標準的for循環: list3 = []for name in list2: for slogan in list1: if slogan[0] == name[0]: list3.append(name + ':' + slogan[2:])這樣就可以看得很清楚了。 name變數和slogan變數都是字元串,各自遍歷li...
9. python 多元tuple怎樣for循環
與其它大多數語言一樣,Python 也擁有 for 循環。你到現在還未曾看到它們的唯一原因就是,Python
在其它太多的方面表現出色,通常你不需要它們。
其它大多數語言沒有像 Python 一樣的強大的 list
數據類型,所以你需要親自做很多事情,指定開始,結束和步長,來定義一定范圍的整數或字元或其它可重復的實體。但是在 Python 中,for
循環簡單地在一個列表上循環,與 list 解析的工作方式相同。
1. for 循環介紹
復制代碼
代碼如下:
>>> li = ['a', 'b',
'e']
>>> for s in li: (1)
... print s
(2)
a
e
>>> print "\n".join(li)
(3)
a
e
(1) for 循環的語法同 list 解析相似。li 是一個 list,而 s 將從第一個元素開始依次接收每個元素的值。
(2) 像 if
語句或其它任意縮進塊,for 循環可以包含任意數目的代碼行。
(3) 這就是你以前沒看到過 for
循環的原因:至今我們都不需要它。太令人吃驚了,當你想要的只是一個 join 或是 list 解析時,在其它語言中常常需要使用 for 循環。
要做一個 「通常的」 (Visual Basic 標準的) 計數 for 循環也非常簡單。
2. 簡單計數
復制代碼
代碼如下:
>>> for i in range(5):
(1)
... print i
>>> li = ['a', 'b',
'c', 'd', 'e']
>>> for i in range(len(li)): (2)
- 104 -Dive
Into Python http://diveintopython.org/
... print
li[i]
(1) range 生成一個整數的 list,通過它來控制循環。我知道它看上去有些奇怪,但是它對計數循環偶爾 (我只是說偶爾) 會有用
。
(2) 我們從來沒這么用過。這是 Visual Basic 的思維風格。擺脫它吧。正確遍歷 list 的方法是前面的例子所展示的。
10. python for循環 循環變數的問題
這個fori..的i依次就是
[0,1,2,3,4,5,6,7,8,9]裡面的0,1,2,3,4,5,6,7,8,9,已經是固定了
除非你改變range(10)的內容才會改變
i=i+1這也不能改變range(10)的內容