我最近在sklearn的BallTree课程中阅读了一些源代码,这是用Cython编写的,我在for循环中遇到了一些bizarre syntax:
for j from 0 <= j < n_features:
centroid[j] += this_pt[j]
经过一番调查后,我无法在from
循环中找到有关for
关键字使用的任何文档。实际上,this answer明确指出Python中from
的唯一用法是import_from
子句。
虽然看起来奇怪,但我对这条线的解释基本上是:
for j in range(n_features):
...
...符合j
以0
开头并且仍然小于n_features
的条件。这种奇怪语法的优势究竟是什么,它是否采取了与我预期不同的方式?
答案 0 :(得分:4)
这是oldie that was retained for compatibility pyrex(cython前身)。
for i from 0 <= i < n:
相当于
for i in range(n):
您应该注意它已被弃用。
答案 1 :(得分:3)