猿问

如何从列表中删除少于 N 个标记的字符串?

给定一个字符串列表,说:

a = ['hey','hey how are you','good how are you','I am', 'I am fine 8998','9809 908']

如何删除少于三个标记的字符串?:

a = ['hey how are you','good how are you', 'I am fine 8998']

我试过了:

' '.join(a.split(' ')[3:])

但是,它不起作用。关于如何删除少于三个标记的所有字符串的任何想法


三国纷争
浏览 194回答 2
2回答

慕尼黑的夜晚无繁华

你可以使用这个列表理解:>>> [i for i in a if len(i.split())>=3] ['hey how are you', 'good how are you', 'I am fine 8998']

阿波罗的战车

这是使用filterand执行相同操作的另一种方法lambda:a = ['hey','hey how are you','good how are you','I am', 'I am fine 8998','9809 908']res = list(filter(lambda x: x.count(' ') >= 2, a))# ['hey how are you', 'good how are you', 'I am fine 8998']或者:res = list(filter(lambda x: len(x.split()) >= 3, a))
随时随地看视频慕课网APP

相关分类

Python
我要回答