我有一个看起来像这样的pandas数据框
List
Justin Bieber
The hills
George Clooney
very good
is a
有没有一种快速的方法来过滤这个列表,所以只留下两个单词都是大写的双字母组合?根据上面的示例,新列表如下所示:
List
Justin Bieber
George Clooney
答案 0 :(得分:1)
也许正在使用filter
?
>>> lst = ["Something", "This no", "This Yes", "not this"]
>>> list(filter(lambda s: all(x[0].isupper() for x in s.split()), lst))
['Something', 'This Yes']
通过列表理解它几乎是一样的:
>>> [s for s in lst if all(x[0].isupper() for x in s.split())]
['Something', 'This Yes']
你可能想设置它匹配的单词数,但你的例子没有 - 所以我也没有。
答案 1 :(得分:0)
一个班轮(但不是最快):
names = [s for s in str_list if len(s.split()) == 2 and all(word[0].isupper() for word in s.split())]