我有2和3组合的排列,我喜欢创建函数或算法而不是if-condition,因为您可以看到我的代码越来越大。 这是我的代码:
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条件的发现采取措施在每个https链接中冲浪,那么我已删除了该部分以使其更具可读性。 如何为3个排列创建条件?
答案 0 :(得分:2)
您甚至不需要功能。您可以用单个if
替换所有print
条件:
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))