Python,从子列表中删除所有数字

时间:2016-05-02 00:30:29

标签: python string list int character

我有以下列表:[['F', 'G', 'C'], ['S', 3, 7], ['C', 3, 'D']](由3个子列表组成)

但我希望:[['F', 'G', 'C'], ['S'], ['C', 'D']]

我将如何做到这一点?

3 个答案:

答案 0 :(得分:0)

使用列表理解:

my_list = [['F', 'G', 'C'], ['S', 3, 7], ['C', 3, 'D']]
no_numbers = [[item for item in sub_list if not isinstance(item, int)]
              for sub_list in my_list]
print(no_numbers)

打印:

[['F', 'G', 'C'], ['S'], ['C', 'D']]

答案 1 :(得分:0)

这是Python 3的代码:

x.x

答案 2 :(得分:-1)

mylist = [['F', 'G', 'C'], ['S', 3, 7], ['C', 3, 'D']]
newlist = [[x for x in mysublist if not isinstance(x, int)] for mysublist in mylist]
print newlist

有多种方法可以实现这一目标。上面的例子是使用列表理解。