[英]Python Syntax One Line Loop
我试图了解我在网上看到的一些代码。 我不太确定\\
做什么。 这是否使数组具有递归调用? 您能帮我把它放入多行循环中,以便我理解吗?
actionList = [ \
(self.miniMaxHelp(gameState.generateSuccessor(agentIndex, k), \
newDepth, ind)[0], k) for k in gameState.getLegalActions(agentIndex)]
您所拥有的是一个(相当复杂的) 列表理解 。
行尾的\\
是python的“在下一行继续执行”标记。 但是,在这种情况下,它们是完全不必要的,因为如果未关闭一组括号,花括号或方括号,则python将继续到下一行。
例如:
f = 1 + \
2
是相同的:
f = 1 + 2
与以下内容相同:
f = (1 +
2)
同样的,
lst = [1, 2]
是相同的:
lst = [1, \
2]
# OR
lst = [
1,
2
]
如果答案注释可以保留格式,则可以去那里。 但是我想反斜杠是保持80个字符的宽度格式,而没有像
actionList = [(self.miniMaxHelp(gameState.generateSuccessor(agentIndex, k),
newDepth, ind)[0], k)
for k in gameState.getLegalActions(agentIndex)]
或将列表理解完全分解为for loop
actionList = []
for k in gameState.getLegalActions(agentIndex):
actionList.append((self.miniMaxHelp(gameState.generateSuccessor(agentIndex, k),
newDepth, ind)[0], k))
这是一段代码的工作,格式更清晰:
actionList = []
for k in gameState.getLegalActions(agentIndex):
successor = gameState.generateSuccessor(agentIndex, k)
x = self.miniMaxHelp(successor, newDepth, ind)[0]
actionList.append((x, k))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.