您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

更多的pythonic方法迭代列表,同时排除元素每次迭代

5b51 2022/1/14 8:23:24 python 字数 1977 阅读 596 来源 www.jb51.cc/python

我有以下代码: items = ["one", "two", "three"] for i in range(0, len(items)): for index, element in enumerate(items): if index != i: # do something with element 基本上我想排除每一个元素一次,并重复其余的

概述

items = ["one","two","three"]

for i in range(0,len(items)):
    for index,element in enumerate(items):
        if index != i:
            # do something with element

基本上我想排除每一个元素一次,并重复其余的.所以对于我上面的列表,我想要以下迭代:

>“二”,“三”
>“一”,“二”

我现在写的代码似乎有点C -ish,有更好的解决方案吗? (我不想在变量中保存所有可能的列表)

编辑:我没有这样说,但是列表大小不一定是3.它可以是任何大小.

编辑2:看来还有一个误区:如果我有一个N列表,那么我想要N个大小为N-1的列表,每个列表都缺少原始列表中的一个元素.

编辑3:有4个项目的列表,应该给出这个结果:

> 1,2,3
> 1,3,4
> 1,4
> 2,4

>>> from itertools import combinations
>>> L = ["one","three","four"]
>>> for R in combinations(L,len(L) - 1):
...     print " and ".join(R)
...
one and two and three
one and two and four
one and three and four
two and three and four

请参阅revision history以了解以下讨论的来源.

总结

以上是编程之家为你收集整理的更多的pythonic方法迭代列表,同时排除元素每次迭代全部内容,希望文章能够帮你解决更多的pythonic方法迭代列表,同时排除元素每次迭代所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶