从一个字符串元组开始的函数,该函数创建字典并添加索引(键)和字符串长度(值)。
但是,for循环仅添加某些条目(在本例中为索引0和2),无法弄清原因。

码:

def check_horse_winner(tup):
    results=dict()
    for i in tup:
        results[tup.index(i)]=len(i)
    return results
print(check_horse_winner(("HORSE", "HORSE", "HORS", "HORSE")))

输出:
{0: 5, 2: 4}

最佳答案

该元组中有相同的元素。 index返回第一个元素的索引-因此,您的程序执行以下操作:

  • 开始第一次迭代-i"HORSE"index返回0。
  • 第二次迭代-i再次是"HORSE"index将返回它的第一次出现,即再次为0。

  • 这就是所有方式-"HORS"除外(我认为这只是一个错误)。

    解决方案:

    遍历索引,而不是元组本身,如下所示:

    for i in range(len(tup)):
        results[i] = len(tup[i])
    

    09-06 05:25