python - 2to3 范围(...) -> 列表(范围(...))

标签 python list python-2to3

我知道 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/

相关文章:

python - 使用 MySQLdb 运行多个语句

python - 没有迭代的 NumPy 中的累积计数

python - Wonder-twin power "Zoom to rectangle"激活?

c# - .NET 将一系列字符添加到列表中

python - 哪些 2to3 修复程序输出有效的 Python 2 代码?

python - 为什么这个 python 脚本会慢慢消耗我的 RAM?

python - 无法将元组项与列表项匹配

javascript - 如何从 html 中过滤掉列表元素以将其从表中消失?

python - 使用/运行 python 的 2to3 作为或类似单元测试

python - 2to3-2.7 和 2to3-3.1 有什么区别?