Zipped Python generators with 2nd one being shorter: how to retrieve element that is silently consumed(压缩的Python生成器,第二个更短:如何检索静默使用的元素)
本文介绍了压缩的Python生成器,第二个更短:如何检索静默使用的元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想用zip
解析两个(可能)不同长度的生成器:
但是,如果gen2
的元素较少,则gen1
中的一个额外元素将被"消耗"。
例如
显然,缺少一个值(在我的上一个示例中为8
),因为gen1
在它意识到gen2
没有更多元素之前被读取(从而生成值8
)。但这个价值在宇宙中消失了。当gen2
为"较长"时,不存在此类"问题"。
问题:有没有办法检索这个缺失值(即我上一个示例中的8
)?...理想情况下使用可变数量的参数(如zip
)。
注意:我目前使用itertools.zip_longest
以另一种方式实现,但我真的很想知道如何使用zip
或等效项获取此缺少的值。
注2:我已经为此REPL中的不同实现创建了一些测试,以防您提交并尝试新的实现:)https://repl.it/@jfthuong/MadPhysicistChester
推荐答案
如果您想要重用代码,最简单的解决方案是:
您可以使用您的设置测试此代码:
将打印:
这篇关于压缩的Python生成器,第二个更短:如何检索静默使用的元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!