2013-02-08 43 views
0

下2個字符什麼,我有一個字符串列表(如下格式)Python中取出長

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

我怎樣才能消除長下兩個字符什麼?

+0

相關:http://stackoverflow.com/q/12628958/748858 – mgilson 2013-02-08 12:48:42

+0

你能發佈想要的結果嗎? – kaspersky 2013-02-08 12:48:58

回答

9

使用列表理解:

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

列表理解有時也很方便,易於使用,你可以閱讀更多herehere

+0

OP要求在2個字符以下,你應該編輯你的答案。 '> ='到'<= 2' – 2013-02-08 12:47:46

+0

@StephaneRolland提問者詢問方法刪除兩個字符下的任何東西。 – arulmr 2013-02-08 12:49:44

+0

@StephaneRolland - 你只會在輸出中留下小字 - 這不是OP想要的東西(至少,那不是我讀書的必要條件)...... – mgilson 2013-02-08 12:49:47

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,列表理解保留x如果LEN(x)的< = 2

你也可以做這樣的事情:

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

那會導致['go!oh','at!oh','at!oh']