擅长:python、mysql、java
<p>在Python中,如果在迭代时需要索引,可以使用<code>enumerate</code>:</p>
<pre><code>array = [1,2,3,4]
for index1, value1 in enumerate(array):
for index2, value2 in enumerate(array[index1+1:]):
print(index1, index2+index1+1, value1, value2)
</code></pre>
<p><code>[index1+1:]</code>对数组进行切片,使其仅包含以下项。然后输出为:</p>
<pre><code>0 1 1 2
0 2 1 3
0 3 1 4
1 2 2 3
1 3 2 4
2 3 3 4
</code></pre>
<p>但是有一个内置函数与您的情况非常匹配:<a href="https://docs.python.org/library/itertools.html#itertools.combinations" rel="nofollow">^{<cd3>}</a>,它允许您在没有嵌套循环的情况下也可以这样做:</p>
<pre><code>from itertools import combinations
for value1, value2 in combinations(array, 2):
print(value1, value2)
</code></pre>
<p>印刷品:</p>
<pre><code>1 2
1 3
1 4
2 3
2 4
3 4
</code></pre>