Python删除2个字符以下的任何内容

时间:2013-02-08 12:45:38

标签: python string list

我有一个字符串列表(格式如下)

 ['email', 'go', 'a', 'instance', 'at', 'boo', 'email', 'message', 'message', 'instance', 'at', 'hello']

如何消除两个字符以下的任何内容?

2 个答案:

答案 0 :(得分:9)

使用列表理解:

new_list = [k for k in old_list if len(k) >= 2]

列表推导有时非常方便且易于使用,您可以阅读更多herehere

答案 1 :(得分:2)

使用列表理解通常最具可读性:

myList = ['email', 'go', 'a', 'instance', 'at', 'boo', 'email', 'message', 'message', 'instance', 'at', 'hello']

myResultList = [x for x in myList if len(x) >=2]

List Comprehension,是从另一个列表上迭代创建新列表的意思。 在我对myList中每个x的例子中,如果len(x)< = 2,则列表理解保持x。

你也可以这样做:

myResultList = [x + "!oh" for x in myList if len(x) ==2]

会导致['go!oh','at!oh','at!oh']