从列表列表中删除列表

0 python list type-conversion conditional-statements python-3.x

我需要删除包含该/符号的列表内的这些列表。

列表例如:

X = [['a/','$1'], ["c","d"]]
Run Code Online (Sandbox Code Playgroud)

所以X[0]应该删除。实际的列表要长得多,并且包含更多这种情况的实例。

我尝试使用类似的东西:

print([l for l in X if l.count("/") <1])
Run Code Online (Sandbox Code Playgroud)

但如果我理解正确的话,因为/附加到另一个符号,他不被计算在内。

我应该将此列表列表转换为字符串,将/与另一个字符分开,然后使用 count 函数,还是有更好的解决方案?

小智 5

搜索"/"子列表中每个项目的一种方法是将生成器表达式用any. 由于您不希望"/"其中包含子列表,因此条件应该是not any()

out = [lst for lst in X if not any('/' in x for x in lst)]
Run Code Online (Sandbox Code Playgroud)

输出:

[['c', 'd']]
Run Code Online (Sandbox Code Playgroud)