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)