【问题标题】:Python itertools combinations iteration controlPython itertools组合迭代控制
【发布时间】:2013-06-07 11:59:15
【问题描述】:

我正在使用 itertools 生成组合,但我想控制输出并能够请求下一个条目:

from itertools import permutations

def getPass():
    chars = '4$5%6^7&'
    passd = ''
    for comb in permutations(chars):
       passd = ''.join(comb)     
    return passd

while(True):
    print getPass()

但我找不到任何相关文档。我该怎么做?

【问题讨论】:

    标签: python iteration combinations itertools


    【解决方案1】:

    你可以使用generator:

    from itertools import permutations
    
    def getPass():
        chars = '4$5%6^7&'
        for comb in permutations(chars):
           yield ''.join(comb)     
    
    for i in getPass():
        print(i)
        input('\ncontinue?')
    

    甚至是generator expression:

    from itertools import permutations
    
    def getPass():
        return (''.join(p) for p in permutations('4$5%6^7&'))
    
    for i in getPass():
        print(i)
        input('\ncontinue?')
    

    输出:

    4$5%6^7& 继续? 4$5%6^&7 继续? 4$5%67^& 继续? 4$5%67&^ 继续? 4$5%6&^7 继续? ...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-07
      相关资源
      最近更新 更多