2012-06-08 35 views
-7

產品在Python中做什麼? 如何更換? 它的全部功能是什麼。 *標誌是做什麼的? 你怎麼沒有得到發電機的警告消息的事情product()在python中做什麼?

<itertools.product object at 0x0159BD00> 
+6

這一切都在文檔中:['itertools.product'](http://docs.python.org/library/ itertools.html#itertools.product)。這是一個懶惰的問題,很容易通過快速谷歌解決。這也是一個多個問題。去閱讀SO FAQ,然後回來。 –

+0

是的,那就是我剛從那裏來的地方。在我來到這裏之前,我讀到了。我明白它打印出來的東西。但我想更好地理解它 –

+0

閱讀(並通過示例!!)官方的Python教程。在前5章之後,您應該對該語言有基本的瞭解。請參閱http://docs.python.org/tutorial/index.html –

回答

5

它計算Cartesian product在任意數量iterables的測試。 Source

所以,如果你有兩個列表像[1,2][3,4],笛卡爾乘積是(1,3),(1,4),(2,3),(2,4)

+2

你真的不應該用響應來表達這樣的問題。 –

+3

即使是不好的問題也應該得到回答,那樣當人們搜索「[產品在Python中做什麼](https://www.google.com/search?q=what+does+product+do+in+python)」時這個問題是他們不會離開網站認爲這很糟糕的重大事件。 –

+1

請注意,對於「不良問題」,我的意思是微不足道的(Google)問題,不難理解或「爲我編寫此代碼」問題。 –

1

你檢查了Python itertools.product docs?它計算笛卡爾乘積:

itertools.product輸入 iterables的(* iterables [,重複])笛卡兒積。

等同於生成器表達式中的嵌套for循環。例如, 乘積(A,B)返回與((x,y)對於A中的x相同的B中的y)。

是否有關於此的具體問題?

+0

是的,我知道基本知識,但還有更多。像*號,以及有和沒有它之間的差異。 –

+0

我想知道如何使用for循環來做到這一點。如何模仿效果並理解函數的機制。 –

+0

@thebiggerchadder好吧,我想這裏的答案給你你正在尋找的信息。對我自己說,沒有更好的方法來學習這種事情,比打開Python控制檯,參考文檔打開和谷歌的一些例子,然後只是嘗試不同的事情。閱讀它不W/o做對我來說不太好。 – Levon

2

儘量遍歷它:

for p in itertools.product((1,2,3), (4,5,6)): 
    print p 

生產:

(1, 4) 
(1, 5) 
(1, 6) 
(2, 4) 
(2, 5) 
(2, 6) 
(3, 4) 
(3, 5) 
(3, 6) 
+0

好吧謝謝你的有用的提示。 –