Python 筛选具有特定内容的子列表的列表列表

Python 筛选具有特定内容的子列表的列表列表,python,Python,目前,我正在尝试筛选一个具有52:3维度的二维列表。我想根据行筛选列表 输入列表的示例行包括: list = [[u'Kr', u'Se', ''],[u'Fe', '', ''],[u'Ca', '', '']] 当行中存在两个空格(“”)时,列表筛选的输出需要为空。它需要保留该行并将该行放入新变量中。因此,示例输出为: new = [[u'Fe', '', ''],[u'Ca', '', '']] 一些建议: 不要使用变量名list,因为这样会给内置列表添加阴影 这里有一个列表列表,其中

目前,我正在尝试筛选一个具有52:3维度的二维列表。我想根据行筛选列表

输入列表的示例行包括:

list = [[u'Kr', u'Se', ''],[u'Fe', '', ''],[u'Ca', '', '']]
当行中存在两个空格(“”)时,列表筛选的输出需要为空。它需要保留该行并将该行放入新变量中。因此,示例输出为:

new = [[u'Fe', '', ''],[u'Ca', '', '']]
一些建议:

不要使用变量名
list
,因为这样会给内置列表添加阴影

这里有一个列表列表,其中一些列表包含空字符串
'
,而不是空格,即
'

也就是说,您可以计算任何子列表
x
包含多少空字符串,如果该计数等于2,请借助列表理解将其放入新列表:

>>> lst = [[u'Kr', u'Se', ''],[u'Fe', '', ''],[u'Ca', '', '']]
>>> result = [x for x in lst if x.count('') == 2]
>>> result
[[u'Fe', '', ''], [u'Ca', '', '']]
请注意,由于我们没有在此处复制任何内容,因此在所有引用/名称中都会看到对子列表的更改:

>>> result[0][0] = 'Xe'
>>> result
[['Xe', '', ''], [u'Ca', '', '']]
>>> lst
[[u'Kr', u'Se', ''], ['Xe', '', ''], [u'Ca', '', '']]
如果不需要此行为,请在列表理解中创建列表副本(与上一示例的唯一区别是使用
x[:]
而不是
x
):

一些建议:

不要使用变量名
list
,因为这样会给内置列表添加阴影

这里有一个列表列表,其中一些列表包含空字符串
'
,而不是空格,即
'

也就是说,您可以计算任何子列表
x
包含多少空字符串,如果该计数等于2,请借助列表理解将其放入新列表:

>>> lst = [[u'Kr', u'Se', ''],[u'Fe', '', ''],[u'Ca', '', '']]
>>> result = [x for x in lst if x.count('') == 2]
>>> result
[[u'Fe', '', ''], [u'Ca', '', '']]
请注意,由于我们没有在此处复制任何内容,因此在所有引用/名称中都会看到对子列表的更改:

>>> result[0][0] = 'Xe'
>>> result
[['Xe', '', ''], [u'Ca', '', '']]
>>> lst
[[u'Kr', u'Se', ''], ['Xe', '', ''], [u'Ca', '', '']]
如果不需要此行为,请在列表理解中创建列表副本(与上一示例的唯一区别是使用
x[:]
而不是
x
):


嘿,你让它工作了吗?我的回答有用吗?嘿,你让它工作了吗?我的回答有用吗?