获取以特定字母开头的姓氏
Get the last names that start with a specific letter
authors = ['Audre Lorde', 'William Carlos', 'Gabriela Mistral', 'Jean Toomer', 'An Qi', 'Walt Whitman', 'Shel Silverstein', 'Carmen Boullosa', 'Kamala Suraiyya', 'Langston Hughes', 'Adrienne Rich', 'Nikki Giovanni']
在此列表中,我想获取 Python 中姓氏以(假设为 'S')开头的名字。
我怎么做?老实说,我不知道从哪里开始,因为我还是个初学者,我试过 join 和 split,但他们只带来了姓氏本身。
供您学习。
有问题的列表格式不正确。
让我们假设它的格式正确。下面是一个简单的例子。
authors = ['Audre Lorde', 'William Carlos', 'Gabriela Mistral', 'Jean Toomer']
newlist = [x for x in authors if x.split(" ")[1].startswith('C')]
匹配名字可能会很困难,因为您可以有多个名字和姓氏,请参阅此页面以获得更好的阅读体验 Falsehoods Programmers Believe About Names。
如果你也可以单名,可以取拆分后的最后一个条目:
authors = ['Audre Lorde', 'William Carlos', 'Gabriela Mistral', 'Jean Toomer', 'Cher']
print([a for a in authors if a.split(" ")[-1].startswith('C')])
例如,如果您想检查拆分部分的数量并且不想允许单个名称:
for a in authors:
parts = a.split(" ")
if len(parts) > 1 and parts[1].startswith('C'):
print(parts[1])
authors = ['Audre Lorde', 'William Carlos', 'Gabriela Mistral', 'Jean Toomer', 'An Qi', 'Walt Whitman', 'Shel Silverstein', 'Carmen Boullosa', 'Kamala Suraiyya', 'Langston Hughes', 'Adrienne Rich', 'Nikki Giovanni']
在此列表中,我想获取 Python 中姓氏以(假设为 'S')开头的名字。 我怎么做?老实说,我不知道从哪里开始,因为我还是个初学者,我试过 join 和 split,但他们只带来了姓氏本身。
供您学习。
有问题的列表格式不正确。
让我们假设它的格式正确。下面是一个简单的例子。
authors = ['Audre Lorde', 'William Carlos', 'Gabriela Mistral', 'Jean Toomer']
newlist = [x for x in authors if x.split(" ")[1].startswith('C')]
匹配名字可能会很困难,因为您可以有多个名字和姓氏,请参阅此页面以获得更好的阅读体验 Falsehoods Programmers Believe About Names。
如果你也可以单名,可以取拆分后的最后一个条目:
authors = ['Audre Lorde', 'William Carlos', 'Gabriela Mistral', 'Jean Toomer', 'Cher']
print([a for a in authors if a.split(" ")[-1].startswith('C')])
例如,如果您想检查拆分部分的数量并且不想允许单个名称:
for a in authors:
parts = a.split(" ")
if len(parts) > 1 and parts[1].startswith('C'):
print(parts[1])