1
>>> x=[("x1","x2","x3"),("x1","x2"),("x2","x3"),("x3","x4")]
>>> x
[('x1', 'x2', 'x3'), ('x1', 'x2'), ('x2', 'x3'), ('x3', 'x4')]
我想删除列表中的元组 - X,如果len(x[id])==3
,len(x[0]==3)
,所以它会被删除,[('x1', 'x2'), ('x2', 'x3'), ('x3', 'x4')]
就是我想要的,我怎么能写代码?如何有条件地从元组列表中删除元素?
[del element if len(element[id]==3) for id,element in enumerate(x)]
invalid syntax.
或者作为一个略少pythonic的方法:'X =过滤器(lambda:len(el)!= 3,x)'。 – Phylogenesis
在Python 3中,它生成一个迭代器而不是一个列表。 –