python capitalizing a given list of strings
我在下面的代码中遇到了一个问题
1 2 3 4 5 6 7 | def capitalize_names(my_input): """fill in the function""" return def test_capitalize_names(): assert ["James"] == capitalize_names(["JAMES"]) assert ["Harry","Jack"] == capitalize_names(["HArry","jack"]) |
我用下面的代码来填充上面的函数
1 2 3 | my_input = map(str.capitalize, my_input) return my_input |
它正在返回
更简洁的方法:例如:
1 2 3 4 5 6 7 | import string def capitalize_names(lst_str): return map(string.capitalize, lst_str) if __name__ == '__main__': print capitalize_names(["HArry","jack","JAMES"]) # ['Harry', 'Jack', 'James'] |
试试这个:
1 2 | def capitalize_names(input): return list(map(lambda s: s.capitalize(), input)) |
这是一种有效的方法。
最快的方法是:
1 2 3 4 5 | def capitalize_names(inp): return [i.capitalize() for i in inp] def test_capitalize_names(): assert ["James"] == capitalize_names(["JAMES"]) assert ["Harry","Jack"] == capitalize_names(["HArry","jack"]) |