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 循环可能没有按照您的意愿进行。您将变量命名为 key
和 value
,这让我相信您想要迭代字典的条目(键和值对)。为此,您应该这样写:
for k,v in word_index.items():
// omitted
enumerate()
所做的是 return 一个从 0 开始的索引,并在每次迭代时递增。所以在你的代码中,key
实际上是一个索引,value
是字典的键!
如果您真的想遍历键并将索引关联到每个键,您应该将变量重命名为更正确的名称,例如 index
和 key
.
我建议花点时间研究一下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
我想打印字典中的前 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 循环可能没有按照您的意愿进行。您将变量命名为 key
和 value
,这让我相信您想要迭代字典的条目(键和值对)。为此,您应该这样写:
for k,v in word_index.items():
// omitted
enumerate()
所做的是 return 一个从 0 开始的索引,并在每次迭代时递增。所以在你的代码中,key
实际上是一个索引,value
是字典的键!
如果您真的想遍历键并将索引关联到每个键,您应该将变量重命名为更正确的名称,例如 index
和 key
.
我建议花点时间研究一下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