如果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])
有人请解释代码
答案 0 :(得分:0)
您所能获得的是:[list comprehension] + [-1]
。这将创建一个将两个列表结合在一起的新列表。
无论出于何种原因,该代码的作者都希望最大值至少为-1
。
答案 1 :(得分:0)
您可能应该切换到突出显示匹配的花括号和括号的编辑器。
只需添加空白(Python会忽略该空白)即可重写代码:
return max(
[
sum(
[
x,y
]
)
for x in keyboards
for y in drives
if sum(
[
x,y
]
) <= b
]
+
[
-1
]
)
看看方括号如何匹配?