2

我知道 python 2to3 全部更改xrangerange,我认为这没有任何问题。我的问题是它如何range(...)变成list(range(...)):它是愚蠢的,只是盲目地搜索并替换它们,还是它足够聪明,可以判断何时不需要列表并将其保留为range更好?

4

1 回答 1

3

我不知道它到底有多智能,但它肯定不会添加list()每个 range().

例如,以下内容:

print(range(10))

改为:

print(list(range(10)))

但是,以下内容:

for el in range(10):
  print(el)

保持不变。

这清楚地表明它比盲目的搜索和替换更复杂。

于 2013-03-13T11:40:01.477 回答