You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NLP聚类场景下:将C风格嵌套循环的JS代码转为Python实现

没问题,这就帮你把那段JavaScript的嵌套循环逻辑转换成Python代码~

首先,先还原一下原JS代码的核心逻辑:遍历数组的索引,外层循环从第一个元素开始,内层循环从当前外层索引的位置开始,这样就能生成所有i ≤ j的索引配对(包括元素和自身配对的情况)。

对应最直观的Python嵌套循环写法,和JS逻辑几乎一一对应:

numbers = [0, 1, 2, 3, 4]
for i in range(len(numbers)):
    for j in range(i, len(numbers)):
        print(f"{i}vs{j}")

代码解释:

  • range(len(numbers)) 等价于JS里的 i < number.length:因为Python的range是左闭右开区间,len(numbers)是5,所以range(5)会生成0,1,2,3,4,正好覆盖所有索引。
  • 内层的range(i, len(numbers)) 对应JS里的j = i; j < number.length,让j从当前i的位置开始,一直遍历到最后一个索引。

如果你想更Pythonic一点,可以用标准库itertools里的combinations_with_replacement函数,它专门用来生成允许重复元素的组合,代码会更简洁:

from itertools import combinations_with_replacement

numbers = [0, 1, 2, 3, 4]
for pair in combinations_with_replacement(numbers, 2):
    print(f"{pair[0]}vs{pair[1]}")

两种写法运行后,都会输出你需要的结果:
0vs0 0vs1 0vs2 0vs3 0vs4 1vs1 1vs2 1vs3 1vs4 2vs2 2vs3 2vs4 3vs3 3vs4 4vs4

内容的提问来源于stack exchange,提问作者FrankDupree

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:29:56