为什么在 if sum([x,y]) <=b "]" +[-1]) 中的 b 之后出现此代码中的括号
return max([sum([x,y]) for x in keyboards for y in drives if sum([x,y]) <= b]+[-1])
有人请解释代码
您可能应该切换到突出显示匹配的大括号和括号的编辑器。
您的代码重写,只需添加空格(Python 将忽略):
return max(
[
sum(
[
x,y
]
)
for x in keyboards
for y in drives
if sum(
[
x,y
]
) <= b
]
+
[
-1
]
)
看看括号是如何匹配的?
你所拥有的是:[list comprehension] + [-1]
. 这将创建一个包含两个列表的新列表。
无论出于何种原因,该代码的作者都希望 max 至少为-1
.