在Perl中,可以执行以下操作

for (@foo) {
    # do something
    next if $seen{$_}++;
}

我希望能够在Python中执行等效操作,即跳过一个已执行一次的代码块。

最佳答案

seen = set()
for x in foo:
    if x in seen:
        continue
    seen.add(x)
    # do something

有关更多信息,请参见 set 文档。

另外,itertools模块文档底部的示例包含一个unique_everseen生成器,您可以像这样使用它:
for x in unique_everseen(foo):
    # do something

关于python - 如果已看到某些内容,Perl模式的python等效Python是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2188863/

10-12 22:11