2016-11-15 239 views
0

從大量字符串列表中刪除包含數字的所有項目的最佳方法是什麼?刪除包含數字的Python列表中的所有項目

輸入: [ '這', '即', 'Those4423', '42', '13b' 中 '是', '2']

輸出: [ '這','那是,‘是’]

+2

最佳的方式可能意味着你有次優的? –

+1

你基本上可以在列表理解中應用http://stackoverflow.com/questions/19859282/check-if-a-string-contains-a-number解決方案。 – alecxe

回答

2

使用列表理解:

[element for element in my_list if all(digit not in element for digit in "1234567890")] 
5
>>> foo = ['This', 'That', 'Those4423', '42', '13b', 'Yes', '2'] 
>>> foo1 = [x for x in foo if not any(x1.isdigit() for x1 in x)] 
>>> foo 
['This', 'That', 'Those4423', '42', '13b', 'Yes', '2'] 
>>> foo1 
['This', 'That', 'Yes'] 
>>> 

但是你可以用.isalpha()檢查是否字符串包含字母通道僅限字符。

.isaplha() 
[x for x in foo if x.isalpha()] 
相關問題