a = (x for x in range(5))
print(type(a)) # prints "<class 'generator'>"
但是這引起了SyntaxError
(預期):構造函數類的括號內的隱式生成器?
a = x for x in range(5)
如果我想從一個發電機定義與元素的元組,這兩個工作:
tup1 = tuple(x for x in range(5))
tup2 = tuple((x for x in range(5)))
在tup1
中,括號是tuple
類的構造函數的一部分。但是它爲什麼起作用?
因爲它是這樣定義的。並且不要與'for'循環的語法 – JBernardo
@JBernardo發生衝突但是傳遞給tuple類構造函數的是什麼?第一種方法是否正確? –
括號中有2個函數(包裝生成器和函數調用)在'tup1'示例中。如果在函數中只有一個參數,這是正確的方法。 – JBernardo