我需要,如果可能的这段代码限制到最大一个循环或更少:如何优化此代码一个环路或最小可能
for i in range(1,count+1):
for j in range(i+1,count+1):
newcount+=1
基本上它是寻找可能的组合,而无需repition。
我需要,如果可能的这段代码限制到最大一个循环或更少:如何优化此代码一个环路或最小可能
for i in range(1,count+1):
for j in range(i+1,count+1):
newcount+=1
基本上它是寻找可能的组合,而无需repition。
它看起来像一个triangular number之间1
count - 1
:
count * (count - 1) // 2
这里有一个小测试:
count = 10
newcount = 0
for i in range(1,count+1):
for j in range(i+1,count+1):
newcount+=1
print(newcount)
# 45
print(newcount == count * (count - 1) // 2)
# True
'ne wcount + =(count-1)* count/2' – pacholik
你不能使用'itertools.combinations'吗? – SpoonMeiser
@SpoonMeiser:如果'i,j'完全不用,那将是一个过度杀伤。 –