停止列表选择?

停止列表选择?,第1张

停止列表选择?

您可以简单地从列表中过滤出元组作为生成器表达式,然后在获取第二个元素为的第一个元组时停止从生成器表达式中获取值

-1
,就像这样

>>> s = [(0,-1), (1,0), (2,-1), (3,0), (4,0), (5,-1), (6,0), (7,-1)]>>> from itertools import takewhile>>> X = 3>>> list(takewhile(lambda x: x[1] != -1, (item for item in s if item[0] >= X)))[(3, 0), (4, 0)]

在这里,生成器表达式

(item for item in s if item[0] >=X)
将按需提供一个一个的值(它们不会一次全部生成,因此我们在这里节省了内存)大于或等于
X

然后,我们把值从发电机的表情,只是直到我们找到一个元组第二个元素不等于

-1
itertools.takewhile



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5647623.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存