首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否删除不符合特定条件的列表?

是否删除不符合特定条件的列表?
EN

Stack Overflow用户
提问于 2011-10-27 05:03:42
回答 1查看 65关注 0票数 2

我对如何处理这个问题有点困惑。

我有大量的列表,并希望删除列表的内容不是以特定的数字开始。

例如。假设我希望在以下列表中只保留至少有一个节点以4开头的列表:

代码语言:javascript
复制
['4-7', '2-5', '2-9', '2-32', '2-16', '2-29', '2-13', '2-26', '2-20', '2-23']
['2-32', '2-31', '2-36', '2-28', '2-34', '2-43', '2-41', '2-39']

在本例中,我应该删除第二个列表,并保留第一个列表。我知道如何检测哪些列表以4开头,并且我可以找出具有该特性的列表,但不确定如何标记其他列表以进行删除。

最好的方法是什么?我有很多这样的列表(几百万),所以我正在尝试找到最便宜的方法来做到这一点。我正在考虑创建一个列表来保存列表,然后将其与原始列表进行比较,并删除不在两个列表中的列表,但我正在努力避免过多的嵌套for循环。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-27 05:07:17

您可以尝试列表理解:

代码语言:javascript
复制
result = [yourlist for yourlist in yourlists
          if any(node.startswith('4-') for node in yourlist)]

或者生成器表达式,如果你不想一次在内存中得到所有的结果:

代码语言:javascript
复制
result = (yourlist for yourlist in yourlists
          if any(node.startswith('4-') for node in yourlist))

在线查看它的工作方式:ideone

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7908902

复制
相关文章

相似问题

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