【问题标题】:enumerate the 0,1 element in each index of list枚举列表的每个索引中的 0,1 元素
【发布时间】:2016-08-16 12:02:22
【问题描述】:

我想获取所有可能的枚举结果,每个索引中的值为 0 或 1。

下面是我的代码和结果。 如何改进我的代码?我想避免太多的for 循环。

k=[0,0,0,0,0,0]
list_dic={}
for a in range(2):
    k[0]=a
    for b in range(2):
        k[1]=b
        for c in range(2):
            k[2]=c
            for d in range(2):
                k[3]=d
                for e in range(2):
                    k[4]=e
                    for f in range(2):
                        k[5]=f
                        list_dic[tuple(k)]=0

enum_list=list((list_dic.keys()))
print(enum_list)

【问题讨论】:

    标签: for-loop enumeration enumerate


    【解决方案1】:

    也许您想尝试使用 intertools:

    import itertools
    k = [0,1]
    
    ret = itertools.product(k, repeat = 6)
    
    for i in ret:
        print i
    

    输出:

    (0, 0, 0, 0, 0, 0)
    (0, 0, 0, 0, 0, 1)
    (0, 0, 0, 0, 1, 0)
    (...many arrays..)
    (1, 1, 1, 1, 0, 1)
    (1, 1, 1, 1, 1, 0)
    (1, 1, 1, 1, 1, 1)
    

    使用repeat = 6,您将数组的大数设置为组合数组存储在k中,在k中您可以放入任何值,然后intertools尝试排序并组合

    【讨论】:

      猜你喜欢
      • 2020-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-03
      • 1970-01-01
      • 2019-09-19
      • 2019-08-17
      • 2018-09-17
      相关资源
      最近更新 更多