置换生成中的if条件

2024-09-29 19:26:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有2和3组合的排列,我喜欢的是创建一个函数或算法,而不是if条件,你可以看到我的代码越来越大。 这是我的密码:

esh = "e.sh"
gb = "g.b"
km = "k.m"
iv = "i.v"

perm2 = permutations([esh,gb,km,iv],2)
perm3 = permutations([esh,gb,km,iv],3)
for i in list(perm2):
    print i
    if esh in i and gb in i:
        print 'esh-gb'
    elif esh in i and km in i:
        print 'esh - km'
    elif esh in i and iv in i:
        print 'esh - iv'
    elif gb in i and km in i:
        print 'gb - km'
    elif gb in i and iv in i:
        print 'gb - iv'
    elif km in i and iv in i:
        print 'km - iv'
    elif iv in i:
        print 'iv'

If conditions将根据If condition的发现在每个https链接中执行冲浪操作,我已删除该部分以使其更具可读性。 如何为3排列创建条件?你知道吗


Tags: and函数in算法if条件printelif
1条回答
网友
1楼 · 发布于 2024-09-29 19:26:07

你甚至不需要函数。可以用一个print替换所有if条件:

for i in list(perm2):
    print(i)
    print(' - '.join(i))

#  ('e.sh', 'g.b')
#  e.sh - g.b
#  ('e.sh', 'k.m')
#  e.sh - k.m
.
.
.

如果esh, gb, km, iv是任意对象,而不是实际代码中的字符串,您只需实现__str__,然后执行print(' - '.join(str(e) for e in i))

相关问题 更多 >

    热门问题