Python 中的 for 循环内未激活 Break

Break is not activated inside a for loop in Python

我想打印字典中的前 10 个键值对 word_index 我写了这段代码:

for key, value in enumerate(word_index):
    count = 0
    if count <10:
        print(f'key {key} : value: {value}')
        count = count + 1
    else:
        break

如您所见,break 未激活。这是为什么?我应该在代码中更改什么?

你需要把count的声明移到for循环之前。它在每次迭代时重置为 0。

附带说明(我没有足够的声誉来发表评论)for 循环可能没有按照您的意愿进行。您将变量命名为 keyvalue,这让我相信您想要迭代字典的条目(键和值对)。为此,您应该这样写:

for k,v in word_index.items():
  // omitted

enumerate() 所做的是 return 一个从 0 开始的索引,并在每次迭代时递增。所以在你的代码中,key 实际上是一个索引,value 是字典的键!

如果您真的想遍历键并将索引关联到每个键,您应该将变量重命名为更正确的名称,例如 indexkey.

我建议花点时间研究一下Python,它会为你节省很多调试时间。

在 for 循环外初始化 count

count=0
 #intialize count here
for key, value in enumerate(word_index):
if count <10:
    print(f'key {key} : value: {value}')
    count = count + 1
else:
    break