我是新来的大鸟,因为大胆学习一些Python。对于将收益放在何处结束循环感到困惑。我了解答案中提供的代码将起作用。但是我不明白为什么我自己的代码不会。 我真的很感谢您的帮助!非常感谢你!
测验是: 定义一个过程,add_to_index, 需要3个输入:
一个网址:字符串
如果关键字已经存在 在索引中,添加网址 到相关的URL列表 使用该关键字。
如果关键字不在索引中, 在索引中添加一个条目:[keyword,[url]]
我的代码是:
index = []
def add_to_index(index,keyword,url):
for element in index:
if element[0] == keyword:
element[1].append(url)
else:
index.append([keyword,[url]])
return index
给出的答案是:
index = []
def add_to_index(index,keyword,url):
for element in index:
if element[0] == keyword:
element[1].append(url)
return
index.append([keyword,[url]])
为什么index.append([keyword,[url]])必须退出循环?我认为在索引中的每个元素都经过之后,循环将自行终止。是真的吗?
答案 0 :(得分:1)
您的代码将在循环第一次执行时返回,无论它是否在if / else之外。给定的答案仅在满足条件时返回
答案 1 :(得分:0)
请注意,根据其定义,循环遍历所有可迭代项。
在上述测验中,如果以前没有[keword,[url]]项目,则应添加该项目。 您只能告诉之后,您检查了整个数据结构,因此在循环之后。
请注意,只有在循环的任何迭代中找到“关键字”时,解释器才会运行“ return”语句。它的目的只是在实现所需功能后立即停止执行该功能。因此,返回的内容将返回“无”(更确切地说是无)。