给定一个字符串列表,说: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:])但是,它不起作用。关于如何删除少于三个标记的所有字符串的任何想法
2 回答

慕尼黑的夜晚无繁华
TA贡献1864条经验 获得超6个赞
你可以使用这个列表理解:
>>> [i for i in a if len(i.split())>=3] ['hey how are you', 'good how are you', 'I am fine 8998']

阿波罗的战车
TA贡献1862条经验 获得超6个赞
这是使用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))
添加回答
举报
0/150
提交
取消