2

代码:

def find(string_list, search):
    new_list = []
    for i in string_list:
        if search in i:
            new_list.append(i)
    print(new_list)

print(find(['she', 'sells', 'sea', 'shells', 'on', 'the', 'sea-shore'], 'he'))

回报:

['she', 'shells', 'the']
None
4

2 回答 2

3

你什么都没有return,所以函数None默认返回。此外,您可以以更 Pythonic 的方式执行此操作:

def find(string_list, search):
    return [i for i in string_list if search in i]

这称为列表推导,您可以在此处阅读有关它们的更多信息。

于 2013-08-06T12:42:44.867 回答
2

这是解决方案

def find(string_list, search):
    new_list = []
    for i in string_list:
        if search in i:
            new_list.append(i)
    return new_list

print(find(['she', 'sells', 'sea', 'shells', 'on', 'the', 'sea-shore'], 'he'))
于 2013-08-06T12:42:53.967 回答