首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何有条件地删除元组列表中的元素?

如何有条件地删除元组列表中的元素?
EN

Stack Overflow用户
提问于 2014-03-27 13:10:00
回答 1查看 201关注 0票数 1
代码语言:javascript
复制
>>> x=[("x1","x2","x3"),("x1","x2"),("x2","x3"),("x3","x4")]
>>> x
[('x1', 'x2', 'x3'), ('x1', 'x2'), ('x2', 'x3'), ('x3', 'x4')]

我想删除列表中的元组-x,如果len(x[id])==3len(x[0]==3),那么它会被删除,[('x1', 'x2'), ('x2', 'x3'), ('x3', 'x4')]是我想要的,我怎么写代码呢?

代码语言:javascript
复制
[del element if len(element[id]==3) for id,element in enumerate(x)]

invalid syntax.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-27 13:12:46

使用列表理解来筛选元素,将所有内容保持在长度为3的范围内:

代码语言:javascript
复制
x = [el for el in x if len(el) != 3]

演示:

代码语言:javascript
复制
>>> x = [('x1', 'x2', 'x3'), ('x1', 'x2'), ('x2', 'x3'), ('x3', 'x4')]
>>> [el for el in x if len(el) != 3]
[('x1', 'x2'), ('x2', 'x3'), ('x3', 'x4')]
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22688691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档