我知道 python 2to3 将所有 xrange
更改为 range
并且我没有发现这有任何问题。我的问题是关于它如何将 range(...)
更改为 list(range(...))
:是不是很愚蠢,只是盲目搜索并全部替换,或者它是否足够聪明,可以判断何时不需要列表并将其保留为 range
会更好?
最佳答案
我不知道它到底有多智能,但它肯定不会将 list()
添加到每个 range()
.
例如以下内容:
print(range(10))
更改为:
print(list(range(10)))
但是,以下内容:
for el in range(10):
print(el)
保持不变。
这清楚地表明它比盲目搜索和替换更复杂。
关于python - 2to3 范围(...) -> 列表(范围(...)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15384162/