python中的“返回”

时间:2019-10-18 23:09:16

标签: python

从对returnbreak的了解中可以看出,两者之间的区别在于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']]]

0 个答案:

没有答案