如何在 Python 中的“i 不等于 j”循环中不重复 i 和 j 的排列?

问题描述

一个详尽的“i 不等于 j”循环通常以

for i in range(t):
    for j in range(t):
        if i is not j:

为了避免重复对称结果(即任何 i with j 只给出与 j with i 相同的答案),我们如何额外跳过上述循环中的这些置换实例?

解决方法

for i in range(t):
    for j in range(i,t):
        if i != j:

这保证了 j >= i,因此,不会有 i 与 j 和 j 与 i 重复。

或者,

for i in range(t):
    for j in range(i + 1,t):

将排除 i == j 的 j 个组合,如 j > i

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...