我知道python 2to3将所有xrange
更改为range
,我认为没有任何问题。我的问题是它如何将range(...)
更改为list(range(...))
:它是愚蠢的,只是盲目地搜索并替换它们全部,或者它是否足够聪明地告诉我何时不需要列表并将其保留为{ {1}}会更好吗?
答案 0 :(得分:3)
我不知道它到底有多聪明,但它肯定不会将list()
添加到每个 range()
。
例如,以下内容:
print(range(10))
更改为:
print(list(range(10)))
但是,以下内容:
for el in range(10):
print(el)
保持不变。
这清楚地表明它比盲目搜索和替换更复杂。