【问题标题】:Python/Sage: Skip a specific combination in nested for-loopPython/Sage:跳过嵌套 for 循环中的特定组合
【发布时间】:2016-01-01 20:29:42
【问题描述】:

在sage中写一个简单的函数时遇到了一个问题:

我想跳过一个特定的组合,即两个变量相同的情况。简而言之,我只需要变量组合 AB、BC 和 CA。

for Ax in [A, B, C]:
     for Bx in [A, B, C]: 
         if Ax==Bx:
             continue??
         else: 
             do stuff 

我已经尝试并尝试了任何想到的东西,但它总是有同样的错误。该循环包含一个方程式系统,该系统不适用于两个相同的变量。

在此先感谢您的帮助,非常感谢。

【问题讨论】:

    标签: math nested-loops sage


    【解决方案1】:

    使用itertools.combinations:

    import itertools as IT
    for Ax, Bx in IT.combinations(['A','B','C'], 2):
        print(Ax, Bx)
    

    产量

    ('A', 'B')
    ('A', 'C')
    ('B', 'C')
    

    【讨论】:

    • 用相同的变量解决了这个问题,非常感谢!但是,这可能不适用于 Lists 吗?我得到一个列表索引超出范围错误,但没有看到问题。
    猜你喜欢
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    • 1970-01-01
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多