在 for 循环中重复使用相同的变量名两次

Reuse same variable name twice within a for loop

for i in rates:
    if input_currency == currency:
        if output_currency in rates[currency]:
            pass 
        else:
            for i in rates:

在 for 循环中再次使用同一个变量 i 通常是一件坏事吗?即使我再次循环相同的数据结构? PyCharm 只是告诉我它已经被使用了,但它仍然有效。

没有错。但是,如果您不知道自己在做什么,那将很危险。例如,如果您想在外循环中使用 i,您可能会遇到问题:

rates = [1,2,3,4,5]
for i in rates:
    for i in rates:
        pass
    print(i) # This always prints 5

如果您不熟悉 Python,这可能会使您感到困惑。例如,在 C 中,内部循环中定义的变量与外部循环中定义的变量不同(即,您可以为不同的变量重用相同的名称)。