Skip to main content
 首页 » 编程设计

python之使用 Python 中的嵌套循环计算所有唯一排列

2025年05月04日12mengfanrong

此 C++ 代码的 python 等效实现是什么:

char x[10]; 
for (int i=0; i < 10; i++) { 
    for (int j=i; j < 10; j++) { 
        calc_something(x[i], x[j]) 
    } 
} 

谢谢

请您参考如下方法:

这只需使用 itertools.combinations() 即可完成:

import itertools 
 
... 
 
for i, j in itertools.combinations(x, 2): 
    calc_something(i, j) 

这给了你想要的。具体来说,它将按以下顺序返回元素:

[(0, 1), (0, 2), (0, 3), (0, 4), (0, 5), (0, 6), (0, 7), (0, 8), (0, 9),  
 (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (1, 7), (1, 8), (1, 9),  
 (2, 3), (2, 4), (2, 5), (2, 6), (2, 7), (2, 8), (2, 9),  
 (3, 4), (3, 5), (3, 6), (3, 7), (3, 8), (3, 9),  
 (4, 5), (4, 6), (4, 7), (4, 8), (4, 9),  
 (5, 6), (5, 7), (5, 8), (5, 9),  
 (6, 7), (6, 8), (6, 9),  
 (7, 8), (7, 9),  
 (8, 9)]