【问题标题】:How to translate enumerate() to a for loop in Python如何在 Python 中将 enumerate() 转换为 for 循环
【发布时间】:2020-11-13 10:21:08
【问题描述】:

我有以下代码可以从一个长数字中找到猜测数字的索引,但是我不能使用枚举。等效的 for 循环会是什么样子:

guess = input()
long_number = ('5666')
a = [i for i, number in enumerate(long_number) if number == guess]
print(a)

例如输出:如果guess = 5,那么输出应该是[0]。

您将如何仅使用 while、for 和/或 if 函数来做到这一点?

【问题讨论】:

    标签: python-3.x for-loop if-statement enumerate


    【解决方案1】:

    您可以简单地将列表理解更改为:

    a = [i for i in range(len(long_number)) if long_number[i] == guess]
    

    (在您的代码中):

    guess = input()
    long_number = '5666'
    a = [i for i in range(len(long_number)) if long_number[i] == guess]
    print(a)
    

    输出将与您的相同

    【讨论】:

      【解决方案2】:

      您可以将数字迭代为字符串并检查每个数字,同时使用变量 index 来跟踪索引。举个例子:

      index = 0
      for number in [int(num) for num in str(long_number)]:
          if number == int(guess):
              print(index)
          index += 1
      

      【讨论】:

        猜你喜欢
        • 2020-12-17
        • 2013-09-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-19
        • 2023-04-01
        相关资源
        最近更新 更多