我需要实现一个函数,它将一个名称(字符串)列表作为参数,另一个参数作为一个字符列表。该函数应打印出第一个列表中以第二个列表中的字母开头的名称。如果列表为空,则该函数不会打印anythig。
这里是函数调用的样子及其输出
>>> selectSome(["Emma", "Santana", "Cam", "Trevor", "Olivia", "Arthur"], ['A', 'B', 'C', 'D', 'E', 'F'])
Emma
Cam
Arthur
>>> selectSome(["Holly", "Bowel", "champ", 'Fun', 'Apu'], ['a', 'F', 'C'])
champ
Fun
Apu
>>> selectSome([], ['a', 'b', 'c'])
>>> selectSome(['Eva', 'Bob'], [])
>>>
答案 0 :(得分:11)
以下是您需要的要点:
>>> names = ['Alpha', 'Bravo', 'Charlie', 'Delta', 'Echo', 'Foxtrot']
>>> first_letters = ['A','B','C']
>>> output_names = [name for name in names if (name[0] in first_letters)]
>>> output_names
['Alpha', 'Bravo', 'Charlie']
我将包装作为一个功能由你决定。
测试你的理解:
for
循环吗?答案 1 :(得分:10)
检查Python的文档中的“startswith”字符串方法: http://docs.python.org/library/stdtypes.html#str.startswith
str.startswith(前缀[,开始[,结束]]) 如果字符串开始则返回True 使用前缀,否则返回False。前缀也可以是元组 要查找的前缀。使用可选的start,测试字符串从 那个位置。使用可选的结尾,停止比较字符串 位置。
在版本2.5中更改:接受元组作为前缀。