我一直在寻找使循环更快的方法,然后我发现了列表解析。
我自己试过了,但我还不完全明白。
从我对列表解析的研究中,我想执行的代码在左边,后面是条件,然后是for循环。
基本上是这样的。
["Something I'd like to execute" Some conditions for loop]
Following this style, I did it like this.
我试图将代码转换为一行代码:
graph = []
for g in range(M):
satisfy = []
graph_count = 0
for i in range(N-1):
count = 0
for j in range(N):
if i < j and count < 1:
if graph_count < g:
count += 1
graph_count += 1
satisfy.append("1")
else:
satisfy.append("0")
elif i < j:
satisfy.append("0")
graph.append("".join(map(str,satisfy)))
我的尝试
graph = [[count+=1,graph_count+=1,satisfy.append("1") if graph_count < g else satisfy.append("0") and if i<j and count<1 else satisfy.append("0") if i<j for j in range(N) count=0 for i in range(N-1)] graph_count=0, "".join(map(str,satisfy)) for g in range(M)]
我做错了什么?
1条答案
按热度按时间yizd12fk1#
优化有两种:
format
函数快)优化算法可能比在微优化上花费同样的精力获得更高的回报。
下面是我对您的问题的解决方案。在分析了预期输出之后,我发现了一些模式,并减少了循环和分配的数量: