【发布时间】:2018-04-21 17:51:38
【问题描述】:
我正在尝试将一行 Python 代码转换为 JavaScript,但我对 Python 的了解有限,很难理解它。
任何人都可以尝试解释以下代码行吗? point_orientation 函数并不重要,它只是返回 True/False。
i_extend = next( ( i for i in itertools.chain(range(i_start+1, len(p)), range(0,i_start+1)) if not point_orientation( p[i-1], p[i], p[(i+1) % len(p)] ) ) )
【问题讨论】:
-
chain基本上是泛化到任意迭代器的列表连接。list(chain(list1, list2)) == list1 + list2. -
我不知道为什么这被否决了。这段代码需要python知识才能破译。它查看两个整数范围并返回第一个满足
if not point_orientation要求的整数。它使用next完成,因此操作在第一次匹配时停止。这可以在 javascript 中通过几个for循环来获得不同的范围,并在每个循环中复制测试。
标签: python for-loop itertools next code-translation