首页 > 解决方案 > 嵌套 For 循环计数器

问题描述

我是 Python 的初学者,并且在计数器的某个方面遇到问题,因为它与嵌套 for 循环中的使用有关。

我正在尝试运行一个嵌套的 for 循环来检查数组 A 是否有任何重复值。

试图通过这个来说服自己(和你们所有人)以理解它:我正在使用嵌套的 for 循环来本质上循环遍历数组 A 中的每个项目......并且对于数组 A 中的每个项目,我需要另一个计数器循环A,以便我可以以计数器i和计数器j的形式将A与自身进行比较。问题是我不想依靠自己,也不想重复计算。如果我简单地输入你们将在下面看到的代码,它会加倍计数(依靠自己)。所以我想确保我的内部 for 循环计数器的索引总是 +1 到我的外部 for 循环计数器

代码如下所示:

A = [4, 3, 2, 4]

for i in A:
    for j in A:
        if i == j:
            print("yup")

输出是......你猜对了:

yup
yup
yup
yup
yup
yup

6个“是的”,因为每次它都在自己计算每个数字。

希望我能正确解释...

所以我的问题是:有人知道如何确保我的“j”计数器被索引+1 ...

我以为会是:

for i in A:
    for j = i + 1 in A:
        if i == j:
            print("yup")

但显然这是不对的

非常感谢这里的任何见解!

谢谢,马克

标签: python

解决方案


如果你想 j 从 1 开始,你可以简单地使用 range 函数

for i in range(len(A)):
    for j in range(i+1,len(A)):
        if A[i] == A[j]:
            print("yup")

希望这是您正在寻找的。


推荐阅读