a=[['1','3','2'],['11','22','33']]
k = [(float(a[i][j]) for j in range(0,3)) for i in range(0,2)]
>>> print k
[<generator object <genexpr> at 0x7f1a9d568f50>, <generator object <genexpr> at 0x7f1a9d568fa0>]
但我想得到[(1,3,2),(11,22,33)] 为什么列表理解会产生一个生成器?Python:为什么列表理解会产生一个生成器?
由于'(浮子(A [i] [j])对于范围(0,3)中的j)'是一个生成器表达式 – vaultah 2015-01-15 16:36:01
因为你在其中放置了一个生成器表达式?这就是'(...对于范围(0,3)中的j)'* *在那里。 – 2015-01-15 16:36:11
[<发生器对象 at 0x7f1a9d568f50>,...]实际上是发生器的_LIST_。 –
NaeiKinDus
2015-01-15 16:36:56