pythonforin列表
1. python: for i in xxx xxx處可填哪幾種類型 速回,急用!
就是iterable類型
比如元組、list列表, 字典
或者自定義的可迭代類型
希望對你有幫助
2. 請問Python中 for in是怎麼用的
for..in語句是另一個循環語句,它迭代一個對象的序列,例如經歷序列中的第一項。在後面的章節,我們將會看到更多關於序列的細節。現在,你需要知道的是一個序列只是一個有序的項目的集合。
例如 (保存為 for.py):
for i in range(1, 5): print(i)else: print('for循環結束')
輸出:
1
2
3
4
for循環結束
它是如何工作的:
列印一個數字序列。我們使用內置的range函數生成這個數字序列。
我們在這里所做的是提供兩個數字,range返回一個從第一個數字到第二個數字的一個數字序列。例如,range(1,5)給出序列[1, 2, 3, 4]。默認情況下,range 步距取為1。如果我們提供第三個數字,range那麼它變成了步距。例如range(1,5,2)得到[1,3]。請記住,范圍擴展到第二號碼,即它不包括第二個數字。
注意,range()生成一個數字序列,當for循環請求下一個項目時,它一次只生成一個數字。如果你想立刻看到完整的數字序列,使用list(range())。list(列表)將在[數據結構章]中解釋。
for循環然後遍歷這個范圍,for i in range(1,5)相當於 for i in [1, 2, 3, 4],這就像把序列中的每一個數(或對象)分配給i,一次一個,然後為每個i值執行該語句塊。在本例中,在語句塊中我們只是列印它的值。
記住,else部分是可選的。當包括它時,除非遇到[break][#中斷)語句,當for循環結束時,它執行一次。
記住,for..in循環可以作用於任何序列。在這里,我們對一個由內建的range函數生成的一個數字列表,但是一般來說,我們可以使用任何種類對象的任何類型的序列!在後面的章節,我們將詳細探討這個想法。
C/C++/Java/C#程序要注意:
Python的for循環完全不同於C/c++的for循環。c#程序員會注意到,在Python中for循環類似於c中的foreach循環c#。Java程序員會注意到,同樣類似於在Java 1.5中的to for (int i : IntArray)。
在C/c++中,如果你想寫for (int i = 0; i < 5; i++),那麼在Python中你只要寫 for i in range(0,5)。正如您可以看到的,在Python中for循環更簡單,更富有表現力且不易出錯。
3. python中,for i in range(len(detals)):,遍歷的是列表的元素值還是遍歷元素個數
是的,len(detals)返回detals的長度,也就是一個數字。如樓主所說detals長度為5,for i in range(len(detals)):即為for i in range(5):。。。此處可簡單的考慮為遍歷[0,1,2,3,4].。。
需要留意的是遍歷的這組數和detals列表中的各元素索引是對應的。
如果需要遍歷detals列表中的各元素可通過以下方式實現:
4. python for in原理
怎麼給你說呢?
這些牽涉到Iterables和Generator的定義.
先講Iterables吧, 在Python中很多東西都可以使用for...in...來iterable,比如list, strings, 和files.這些iterables是方便,你可多次經行處理,因為你在內存中存儲的所有值.
下面是個例子:
>>>mylist=[1,2,3]>>>foriinmylist:
..print(i)
1
2
3
>>>mylist=[x*xforxinrange(3)]
>>>foriinmylist:
...print(i)
0
1
4
然後是Generator. 廣義上將Generator也是個Iterator, 但是你不能reset, 也就是說你只能歷遍一次.因為內存存儲的問題,當你使用yield的之前, 內存中存儲的是你需要的值,當你調用完之後內存中存儲的是你的下一個需要的值. 換句話說你如果用Generator內存的使用比較少.是一個常量.
下面是個例子:
>>>mygenerator=(x*xforxinrange(3))
>>>foriinmygenerator:
...print(i)
0
1
4
兩個例子請注意括弧的不同.
yield關鍵字工作原理與上面所說的Generator類似. 原理也一樣,這也就是為什麼當你得到最後一個值後,嘗試著調用next()會出錯的問題. 或者說長度為0, 因為此時內存中沒有存值.
如果你想處理完,再次歷遍輸入內容. 給你介紹個比較簡潔的方法.
y=FunctionWithYield()
y,y_backup=tee(y)
forxiny:
print(x)
forxiny_backup:
print(x)
tee() 函數,生成了一個列表,存儲了所有的輸入值.
題外話: 如果你學過Python相比你可能知道range和xrange兩個不同的關鍵字. 例如在Python 2.x 中, 代碼:
foriinrange(1000):pass
會導致生成一個 1000 個元素的 List,而代碼:
foriinxrange(1000):pass
則不會生成一個 1000 個元素的 List,而是在每次迭代中返回下一個數值,內存空間佔用很小。因為 xrange 不返回 List,而是返回一個類似的iterable 對象。
網上曾經有人嘗嘗著模擬range和xrange, 猜測xrange中包含yield的函數.實現結果也符合猜想.
結合上面所說的 這也就是為什麼xrange更加高效.
至於yield內存使用方法, 確實沒有深究. 所以不能給你提供更多信息. 但想必也已經解決了你的部分疑問.
5. python中如何用for循環輸出一個列表
a=[1,2,3]
for i in a:
print(i)
6. python中,如何在每一次for循環時都建一個新的列表
這樣:
list=[]
>>>foriinrange(5):
...list.append([i])
...
>>>list
[[0],[1],[2],[3],[4]]
>>>list[0]
[0]
>>>list[1]
[1]
(6)pythonforin列表擴展閱讀:
注意事項
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!"
7. python中的for in是什麼意思
1、python中的for in是一個語句循環固定格式;
2、Python是一種跨平台的計算機程序設計語言。是一種面向對象的動態類型語言;
3、Python在設計上堅持了清晰劃一的風格,這使得Python成為一門易讀、易維護,並且被大量用戶所歡迎的、用途廣泛的語言。
(7)pythonforin列表擴展閱讀:
python介紹:
Python的設計目標之一是讓代碼具備高度的可閱讀性。其設計時盡量使用其它語言經常使用的標點符號和英文單字,讓代碼看起來整潔美觀。不像其他的靜態語言如C、Pascal那樣需要重復書寫聲明語句,也不像其他的語法那樣經常有特殊情況和意外。
Python採用動態類型系統。在編譯的時候,Python不會檢查對象是否擁有被調用的方法或者屬性,而是直至運行時,才做出檢查。所以操作對象時可能會拋出異常。不過,雖然Python採用動態類型系統,其同時也是強類型的。Python禁止沒有明確定義的操作,比如數字加字元串。
參考資料來源:網路-Python
8. python中的for i in range怎麼用
for in range是循環的意思。
示例:for i in range(1,5):
print(i)
上述語句的意思就是從1到5的循環,每循環一次列印一次i的值,1到5,共5回,列印五次i的值,即循環5次。
(8)pythonforin列表擴展閱讀:
for循環是編程語言中一種開界的循環語句,而循環語句是由循環體及循環的終止條件兩部分組成,for循環其在各種編程語言中的實現與表達有所出入,但基本為以C語言和pascal語言代表的兩種形式。
for循環中的變數可以是一個也可以是多個,不要局限於一個變數處理到底,那樣有時會很單調,當程序適合把多個變數組成循環時,用多個for語句來表示就是有些浪費了!
在C語言中,for循環中的"單次表達式"、"條件表達式"和"循環體語句"都是選擇項, 即可以預設成只剩下「;」的空語句, ";"不能預設的原因是編譯格式如此,預設了編譯器不認識而會報錯。
省略了用來初始化的單次表達式時, 表示不對循環控制變數賦初值。
省略了條件表達式, 若不做其它處理則成為死循環。
省略了所有循環體, 則for語句不被其它形式處理時不產生任何作用。
9. Python for循環生成列表的實例
Python for循環生成列表的實例
一般Python for語句前不加語句,但我在機器學習實戰中看到了這兩條語句:
featList = [example[i] for example in dataSet]
classList = [example[-1] for example in dataSet]
多方研究和詢問,得到如下解釋:
語句featList = [example[i] for example in dataSet]作用為:
將dataSet中的數據按行依次放入example中,然後取得example中的example[i]元素,放入列表featList中
語句classList = [example[-1] for example in dataSet]作用為:
將dataSet中的數據按行依次放入example中,然後取得example中的example[-1]元素,放入列表classList中
總而言之,類似上述兩種for循環形式可以很方便地用來創建列表,如下例:
list_0 = [x*x for x in range(5)]
print(list_0)
#輸出:
#[0, 1, 4, 9, 16]
以上這篇Python for循環生成列表的實例就是小編分享給大家的全部內容了
10. Python 如何輸入一組數字存儲為列表 用for in將列表中元素加總
最後那個if-return 語句, 應該跟for是並列的 你把它寫到for循環里頭了, 因此循環只循環了第一個元素就返回了