从对return
和break
的了解中可以看出,两者之间的区别在于return
将退出整个过程,而无需执行以下行,而break
将仅退出当前循环。
但是,当我运行以下代码时,append
仍在return
之后运行。我不知道为什么请帮助我充分理解!
def add_to_index_3(index_3,keyword,url):
for entry in index_3:
if entry[0] == keyword:
if url not in entry[1]:
entry[1].append(url)
return
index_3.append([keyword,[url]])
add_to_index_3(index_3, 'udacity', 'http://udacity.com')
add_to_index_3(index_3, 'computing', 'http://acm.org')
add_to_index_3(index_3, 'udacity', 'http://npr.org')
add_to_index_3(index_3, 'udacity', 'mytest_1')
add_to_index_3(index_3, 'work', 'http://npr.org')
add_to_index_3(index_3, 'udacity', 'http://udacity.com')
print(index_3)
结果是:
[['udacity', ['http://udacity.com', 'http://npr.org', 'mytest_1']],
['computing', ['http://acm.org']], ['work', ['http://npr.org']]]