1
ipwx 2018 年 5 月 9 日 |
2
invoke 2018 年 5 月 9 日 这不是销毁了。。
建议楼主 test = map(lambda....) for i in test 两次尝试一下 |
3
hourann 2018 年 5 月 9 日 via iPhone
是新特性。generator 了解一下。python3 的很多迭代工具都改为惰性求值,意思是用到的时候再求值,而不是一次性算完了然后放在内存里。如果楼主不适应,可以外面加个 list,list(map(…)),就把所有值都求出来放到一个列表里了
|
4
fankcoder OP 感谢,之前没在意这个
|
5
orangeade 2018 年 5 月 9 日 via Android
|
6
LaFayette 2018 年 5 月 9 日
迭代器我知道, 可是为什么是这样子的呢?
|
7
shuizhengqi 2018 年 5 月 9 日
迭代器只运行一次
|
8
suber 2018 年 5 月 9 日
这是 Python3 的 map 不一样。2 返回的是一个 list ;而 3 是返回一个 iterator,并且这个结果是 yield 的。
https://docs.python.org/3/library/functions.html#map |
9
congeec 2018 年 5 月 10 日 via iPhone
注意生成器和迭代器不是一个东西
|
10
lfzyx 2018 年 5 月 10 日
麻烦用列表推导来替代 map
|
11
lfzyx 2018 年 5 月 10 日
test = [x for x in range(2)]
|
12
ArianX 2018 年 5 月 10 日 via Android
这是生成器吧
|