获取以某些字母开头的名称列表

Gel*_*Fox 5 python string function list

我需要实现一个函数,它将一个名称(字符串)列表作为参数,另一个参数作为一个字符列表.该函数应打印出第一个列表中以第二个列表中的字母开头的名称.如果列表为空,则该函数不会打印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'], [])
>>>
Run Code Online (Sandbox Code Playgroud)

Li-*_*Yip 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']
Run Code Online (Sandbox Code Playgroud)

我将包装作为一个功能由你决定.

测试你的理解:

  1. 你如何使这个不区分大小写?
  2. 你明白第3行是做什么的吗?(它被称为列表理解.)你能写出等效的for循环吗?

  • Natch,这可能是家庭作业,我不应该给出这么多答案.将来,在获得此级别的帮助之前,您需要证明您已经尝试解决自己的问题("您尝试了什么?"). (3认同)

jsb*_*eno 10

查看Python的文档以获取"startswith"字符串方法:http: //docs.python.org/library/stdtypes.html#str.startswith

str.startswith(prefix [,start [,end]]) 如果string以前缀开头,则返回True,否则返回False.前缀也可以是要查找的前缀元组.使用可选的启动,测试字符串从该位置开始.使用可选结束,停止比较该位置的字符串.

在版本2.5中更改:接受元组作为前缀.